int CSocketClient::start(int nSocketType, const char* cszAddr, short nPort, int nStyle) { if (AF_UNIX == nSocketType) { setDomainSocketPath(cszAddr); } else if (AF_INET == nSocketType) { if (-1 == setInetSocket(cszAddr, nPort)) { _DBG("set INET socket address & port fail"); return -1; } } if (-1 != createSocket(nSocketType, nStyle)) { if (SOCK_STREAM == nStyle) { if (-1 == connectServer()) { socketClose(); return -1; } } _DBG("[Socket Client] Socket connect success"); return getSocketfd(); } return -1; }
int CSocketClient::start(int nSocketType, const char* cszAddr, short nPort, int nStyle) { if ( AF_UNIX == nSocketType ) { setDomainSocketPath( cszAddr ); } else if ( AF_INET == nSocketType ) { if ( -1 == setInetSocket( cszAddr, nPort ) ) { _DBG( "set INET socket address & port fail" ); return -1; } } if ( -1 != createSocket( nSocketType, nStyle ) ) { if ( SOCK_STREAM == nStyle ) { if ( -1 == connectServer() ) { socketClose(); return -1; } } if ( -1 != externalEvent.m_nMsgId ) { if ( -1 == initMessage( externalEvent.m_nMsgId ) ) { throwException( "socket client create message id fail" ); } else { threadHandler->createThread( threadMessageReceive, this ); threadHandler->createThread( threadSocketRecvHandler, this ); } } _DBG( "[Socket Client] Socket connect success, FD:%d", getSocketfd() ); return getSocketfd(); } return -1; }
int CHttpServer::start(int nSocketType, const char* cszAddr, short nPort) { int nMsgId; nMsgId = initMessage(MSG_ID); if (-1 == nMsgId) { throwException("socket server create message id fail"); return -1; } threadHandler->createThread(threadMessageReceive, NULL); if (AF_UNIX == nSocketType) { setDomainSocketPath(cszAddr); } else if (AF_INET == nSocketType) { if (-1 == setInetSocket(cszAddr, nPort)) { _DBG("set INET socket address & port fail"); return -1; } } if (-1 != createSocket(nSocketType)) { if (-1 != socketBind()) { if (-1 != socketListen(BACKLOG)) { threadHandler->createThread(threadSocketAccept, NULL); return 0; } } } return -1; }
int CSocketServer::start(int nSocketType, const char* cszAddr, short nPort, int nStyle) { int nMsgId = -1; if (-1 != externalEvent.m_nMsgId) { nMsgId = initMessage(externalEvent.m_nMsgId); } else { nMsgId = initMessage(m_nInternalFilter); } if (-1 == nMsgId) { throwException("socket server create message id fail"); return -1; } threadHandler->createThread(threadSocketMessageReceive, this); if (AF_UNIX == nSocketType) { setDomainSocketPath(cszAddr); } else if (AF_INET == nSocketType) { if (-1 == setInetSocket(cszAddr, nPort)) { _DBG("set INET socket address & port fail"); return -1; } } if (-1 != createSocket(nSocketType, nStyle)) { if (-1 != socketBind()) { if (SOCK_STREAM == nStyle) { if (-1 == socketListen(BACKLOG)) { perror("socket listen"); socketClose(); return -1; } threadHandler->createThread(threadSocketAccept, this); } else if (SOCK_DGRAM == nStyle) { if (udpClientData) delete udpClientData; udpClientData = new CDataHandler<struct sockaddr_in>; clientHandler(getSocketfd()); } return 0; } else { socketClose(); } } return -1; }
int CSocketServer::start(int nSocketType, const char* cszAddr, short nPort, int nStyle) { int nMsgId = -1; if(-1 != externalEvent.m_nMsgId) { nMsgId = initMessage(externalEvent.m_nMsgId, "CSocketServer"); } else { nMsgId = initMessage(m_nInternalFilter, "CSocketServer"); } if(-1 == nMsgId) { _log("[CSocketServer] Init Message Queue Fail"); return -1; } if(0 != munRunThreadId) { threadHandler->threadCancel(munRunThreadId); threadHandler->threadJoin(munRunThreadId); munRunThreadId = 0; } threadHandler->createThread(threadServerMessageReceive, this); if( AF_UNIX == nSocketType) { setDomainSocketPath(cszAddr); } else if( AF_INET == nSocketType) { if(-1 == setInetSocket(cszAddr, nPort)) { _log("set INET socket address & port fail"); return -1; } } if(-1 != createSocket(nSocketType, nStyle)) { if(-1 != socketBind()) { if( SOCK_STREAM == nStyle) { if(-1 == socketListen( BACKLOG)) { perror("socket listen"); socketClose(); return -1; } threadHandler->createThread(threadServerSocketAccept, this); } else if( SOCK_DGRAM == nStyle) { if(udpClientData) delete udpClientData; udpClientData = new CDataHandler<struct sockaddr_in>; dataHandler(getSocketfd()); } return 0; } else { socketClose(); } } return -1; }