예제 #1
0
netObject ndOpenConnect(const char *host, int port)
{
    nd_handle handle = 0 ;
    
    ndInitNet() ;
    
    handle = nd_object_create("tcp-connector"  ) ;
    
    if(!handle){
        nd_logerror((char*)"connect error :%s!" AND nd_last_error()) ;
        return NULL;
    }
    if(-1==nd_msgtable_open(handle, 16) ) {
        nd_object_destroy(handle, 0) ;
        return NULL ;
    }
	
    //open
    if(-1==nd_connector_open( handle, (char*)host,  port,NULL ) ){
        nd_logerror("connect error :%s!" AND nd_last_error()) ;
        nd_object_destroy(handle,1) ;
        return NULL;
    }
    
    nd_hook_packet((netObject) handle,(net_msg_entry )_translate_message);
    ndMsgfuncInit( (netObject) handle ) ;

    return (netObject) handle;
}
예제 #2
0
int ApoClient::Init()
{
	
#ifndef WITHOUT_LOGIC_PARSER
	//init message script handler
	LogicEngineRoot *scriptRoot = LogicEngineRoot::get_Instant();
	nd_assert(scriptRoot);
	
	LogicParserEngine  &parser = LogicEngineRoot::get_Instant()->getGlobalParser();
	parser.setOwner(&__scriptObjOwner);
	scriptRoot->getGlobalParser().setSimulate(false);	
	//scriptRoot->setPrint(NULL, NULL);	

	ndInitNet();	
	//m_pconn = nd_object_create("tcp-connector");
	m_pconn = _create_connector_object() ;
	parser.eventNtf(APOLLO_EVENT_SERVER_START, 0); //program start up
#else 
	ndInitNet();
#endif 
	
	return 0;
}