这篇教程C++ CreateSocket函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CreateSocket函数的典型用法代码示例。如果您正苦于以下问题:C++ CreateSocket函数的具体用法?C++ CreateSocket怎么用?C++ CreateSocket使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CreateSocket函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainint main(int argc, char **argv){ Preferences::Instance()->SetFile("/boot/home/config/settings/RemoteControl.perfs"); args.porti=4321; args.ports=4322; args.passwd=0; parse(argc, argv); MyApp *app=new MyApp(); int32 socki=CreateSocket(args.porti); int32 socks=CreateSocket(args.ports); if((socki<0) || (socks<0)) return 1; new InputListener (socki, args.passwd); new ScreenListener(socks, args.passwd); app->Run(); return 0;}
开发者ID:puckipedia,项目名称:RemoteControl,代码行数:25,
示例2: CreateSocketvoid UdpSocket::CreateConnection(){#ifdef ENABLE_IPV6#ifdef IPPROTO_IPV6 if (IsIpv6()) { if (GetSocket() == INVALID_SOCKET) { SOCKET s = CreateSocket(AF_INET6, SOCK_DGRAM, "udp"); if (s == INVALID_SOCKET) { return; } SetNonblocking(true, s); Attach(s); } return; }#endif#endif if (GetSocket() == INVALID_SOCKET) { SOCKET s = CreateSocket(AF_INET, SOCK_DGRAM, "udp"); if (s == INVALID_SOCKET) { return; } SetNonblocking(true, s); Attach(s); }}
开发者ID:f059074251,项目名称:interested,代码行数:31,
示例3: CreateSocketint EgSock::Connect(const char* ip, uint16_t port, function<void(sp_EgSock)> callback) { _fd = CreateSocket(); SetNonblock(fd); SetNodelay(fd); _peer_ip = ip; _port = port; _state = EG_SOCK_CONNECTING; _callback = callback; sockaddr_in serv_addr; SetAddr(ip, port, &serv_addr); if (connect(_fd, (sockaddr*)&serv_addr, sizeof(serv_addr)) == SOCKET_ERROR) { if (!((errno == EINPROGRESS) || (errno == EWOULDBLOCK))) { loge("connect failed, err_code=%d", errno); close(_fd); throw egex("connect failed, errno=%d", errno); } } else { _state = EG_SOCK_CONNECTED; callback(shared_from_this()); } return _fd;}
开发者ID:narychen,项目名称:eg,代码行数:25,
示例4: Listenint CLS_TCPSvr::Listen(){ char *strIP; if(m_iStatus==SS_UNUSED) if(CreateSocket()<0) return -1; if(m_iStatus!=SS_LISTEN) { if(m_iStatus!=SS_BOUND) if(Bind()<0) return -2; if (listen(m_iSocket, 5)<0) { CloseSocket(); return -3; } if(!m_iLocalPort) { strIP=GetLocalHost(&m_iLocalPort); if(strIP) strcpy(m_strLocalIP, strIP); } m_iStatus=SS_LISTEN; } return 0;}
开发者ID:cocti-zhonghao,项目名称:fj_callSign,代码行数:32,
示例5: SendData// Write a socketwxInt32 BufferedSocket::SendData(const wxInt32 &Timeout){ wxInt32 BytesSent; if (CreateSocket() == false) return 0; // clear it memset(m_SendBuffer, 0, MAX_PAYLOAD); // copy data size_t WrittenSize = m_SendBufferHandler->CopyTo(m_SendBuffer, MAX_PAYLOAD); // Creation of this will start the stop watch wxStopWatch sw; // send the data BytesSent = send(m_Socket, (const char *)m_SendBuffer, WrittenSize, 0); // set the start ping m_SendPing = sw.Time(); CheckError(); // return the amount of bytes sent return BytesSent;}
开发者ID:JohnnyonFlame,项目名称:odamex,代码行数:29,
示例6: CreateSocketnsresultKeyStoreConnector::CreateListenSocket(struct sockaddr* aAddress, socklen_t* aAddressLength, int& aListenFd){ ScopedClose fd; nsresult rv = CreateSocket(fd.rwget()); if (NS_FAILED(rv)) { return rv; } rv = SetSocketFlags(fd); if (NS_FAILED(rv)) { return rv; } if (aAddress && aAddressLength) { rv = CreateAddress(*aAddress, *aAddressLength); if (NS_FAILED(rv)) { return rv; } } // Allow access for wpa_supplicant (different user, different group) // // TODO: Improve this by setting specific user/group for // wpa_supplicant by calling |fchmod| and |fchown|. // chmod(KEYSTORE_SOCKET_PATH, S_IRUSR|S_IWUSR| S_IRGRP|S_IWGRP| S_IROTH|S_IWOTH); aListenFd = fd.forget(); return NS_OK;}
开发者ID:MekliCZ,项目名称:positron,代码行数:35,
示例7: memccpyint Client::Run(const char* pIP, unsigned short uPort, const char * pFileName){ int iRet = 0; if (pIP == NULL) { iRet = -1; return iRet; } memccpy(m_sIPAddress, pIP, 0, sizeof(m_sIPAddress) - 1); m_sIPAddress[sizeof(m_sIPAddress) - 1] = 0; m_uPort = uPort; if (pFileName != NULL) { m_RequireType = 2; //File memccpy(m_sFilename, pFileName, 0, sizeof(m_sFilename) - 1); m_sFilename[sizeof(m_sFilename) - 1] = 0; } else { m_RequireType = 1; //DIR } CreateSocket(); ConnectSocket(); return iRet;}
开发者ID:hank-sunday,项目名称:DataHub-Daemon,代码行数:25,
示例8: BindCompletionPortDWORD CEgTcpDriver::CreateAcceptSocket(BOOL bBindIocp){ DWORD dwRecvNumBytes = 0; DWORD dwRes; if (bBindIocp) { m_ListenSocketContext.m_ConnectioID.m_Socket = m_ListenSocket; m_ListenSocketContext.m_pIOContext.m_IoOperation = ClientIoAccept; dwRes = BindCompletionPort(m_ListenSocketContext); if (dwRes != 0) return dwRes; } m_ListenSocketContext.m_pIOContext.m_SocketAccept = CreateSocket(); if (INVALID_SOCKET == m_ListenSocketContext.m_pIOContext.m_SocketAccept) return WSAGetLastError(); int nRet = AcceptEx( m_ListenSocket, m_ListenSocketContext.m_pIOContext.m_SocketAccept, (LPVOID)(m_ListenSocketContext.m_pIOContext.m_ReceiveBuffer.buf), 0, sizeof(SOCKADDR_IN) + 16, sizeof(SOCKADDR_IN) + 16, &dwRecvNumBytes, (LPOVERLAPPED) &(m_ListenSocketContext.m_pIOContext.m_SendOverlapped) ); if (nRet == SOCKET_ERROR && (ERROR_IO_PENDING != WSAGetLastError())) return WSAGetLastError(); return 0;}
开发者ID:AlexS2172,项目名称:IVRMstandard,代码行数:33,
示例9: Bind virtual bool Bind( const CIPAddr *pAddr ) { if ( !CreateSocket() ) return false; return BindPart2( pAddr ); }
开发者ID:RaisingTheDerp,项目名称:raisingthebar,代码行数:7,
示例10: CreateSocketDWORD WINAPI CEgTcpDriver::CreateListenSocket(){ SOCKADDR_IN si_addrlocal; int nRet; LINGER lingerStruct; lingerStruct.l_onoff = 0; lingerStruct.l_linger = 0; m_ListenSocket = CreateSocket(); if (INVALID_SOCKET == m_ListenSocket) return WSAGetLastError(); si_addrlocal.sin_family = AF_INET; si_addrlocal.sin_port = htons(m_usServerPort); si_addrlocal.sin_addr.s_addr = htonl(INADDR_ANY); nRet = bind(m_ListenSocket, (struct sockaddr *)&si_addrlocal, sizeof(si_addrlocal)); if (SOCKET_ERROR == nRet) return WSAGetLastError(); nRet = listen(m_ListenSocket, SOMAXCONN); if (SOCKET_ERROR == nRet) return WSAGetLastError(); return 0;}
开发者ID:AlexS2172,项目名称:IVRMstandard,代码行数:27,
示例11: PortTransfer_1BOOL PortTransfer_1(WORD ListenPort, char *szIP, WORD wPort){ HANDLE hThread; DWORD dwThreadId; SOCKET AcceptSocket; TransferParam<ADDRESS, SOCKET> ConfigInfo; _snprintf(ConfigInfo.GlobalData.szIP, ADDRSIZE, "%s", szIP); ConfigInfo.GlobalData.wPort = wPort; //监听个服务端口,即映射端口 SOCKET localsockid = CreateSocket(INADDR_ANY, ListenPort); if(localsockid <= 0) goto error; while(1) { printf("Accepting new Client..."); AcceptSocket = accept(localsockid, NULL, NULL); if(AcceptSocket == INVALID_SOCKET) goto error; nTimes++; printf("OK./r/n"); //将接受到的客户请求套接字转到新的线程里处理 //然后继续等待新的请求 ConfigInfo.LocalData.Push(AcceptSocket); hThread = CreateThread(NULL, 0, PortTransfer_1, (LPVOID)&ConfigInfo, NULL, &dwThreadId); if(hThread) CloseHandle(hThread); else Sleep(1000); }error: printf("Error./r/n"); closesocket(localsockid); return false;}
开发者ID:GeeksRoad,项目名称:MyProxy,代码行数:34,
示例12: CreateSocketvoid SocketEngine::sendData(const char* data){ if (m_socket==NULL) { CreateSocket(); } if (m_socket==NULL) { cout<<"Socket创建失败"<<endl; return; } try { cocos2d::CCLog("send() datas : %s /n/n",data); m_socket->SendData(data, strlen(data)+1); }catch (SocketException &excep) { cout<<"收到参数意外"<<endl; cocos2d::CCLog("sendData recvDatas Error: %s /n/n",(const char*)excep); return; } // strcpy(outData, data); cout<<"开始线程接受Socket数据"<<endl; if(pthread_create(&pthead_rec, NULL, reciveData, this)!=0){ //pthead_recx线程标示,reciveData回调函数, m_socket传入的参数 cout<<"创建reciveData失败"<<endl; } }
开发者ID:wwb0709,项目名称:feichuan,代码行数:35,
示例13: Attachint UdpSocket::Bind(SocketAddress& ad, int range){ if (GetSocket() == INVALID_SOCKET) { Attach(CreateSocket(ad.GetFamily(), SOCK_DGRAM, "udp")); } if (GetSocket() != INVALID_SOCKET) { SetNonblocking(true); int n = bind(GetSocket(), ad, ad); int tries = range; while (n == -1 && tries--) { ad.SetPort(ad.GetPort() + 1); n = bind(GetSocket(), ad, ad); } if (n == -1) { Handler().LogError(this, "bind", Errno, StrError(Errno), LOG_LEVEL_FATAL); SetCloseAndDelete();#ifdef ENABLE_EXCEPTIONS throw Exception("bind() failed for UdpSocket, port:range: " + Utility::l2string(ad.GetPort()) + ":" + Utility::l2string(range));#endif return -1; } m_bind_ok = true; m_port = ad.GetPort(); return 0; } return -1;}
开发者ID:f059074251,项目名称:interested,代码行数:31,
示例14: mainint main(int argc, char *argv[]){ if (argc != 3) { printf("%s serverhost serverport/n", argv[0]); exit(0); } // get the server host info // int serverport = atoi(argv[2]); int err; struct hostent hp; char buf[1024]; unsigned long hostAddr = 0; if((gethostbyname_r(argv[1], &hp, buf, sizeof(buf), &err) == NULL)) { printf("unable to resolve host address(%s)/n", argv[1]); exit(0); } hostAddr = ((struct in_addr*)hp.h_addr)->s_addr; while (1) { // Create the socket // CreateSocket(hostAddr, serverport); }}
开发者ID:pp7462-git,项目名称:sandbox,代码行数:31,
示例15: CreateSocketint SocketInfo::Create(const std::string& context) const { auto types = android::base::Split(type(), "+"); int flags = ((types[0] == "stream" ? SOCK_STREAM : (types[0] == "dgram" ? SOCK_DGRAM : SOCK_SEQPACKET))); bool passcred = types.size() > 1 && types[1] == "passcred"; return CreateSocket(name().c_str(), flags, passcred, perm(), uid(), gid(), context.c_str());}
开发者ID:MoKee,项目名称:android_system_core,代码行数:7,
示例16: CreateSocketnsresultNfcConnector::CreateStreamSocket(struct sockaddr* aAddress, socklen_t* aAddressLength, int& aStreamFd){ ScopedClose fd; nsresult rv = CreateSocket(fd.rwget()); if (NS_FAILED(rv)) { return rv; } rv = SetSocketFlags(fd); if (NS_FAILED(rv)) { return rv; } if (aAddress && aAddressLength) { rv = CreateAddress(*aAddress, *aAddressLength); if (NS_FAILED(rv)) { return rv; } } aStreamFd = fd.forget(); return NS_OK;}
开发者ID:MekliCZ,项目名称:positron,代码行数:26,
示例17: Create U1 NetServer::Create(){ //创建SOCKET if(!CreateSocket()) return false; U16 PORT = Converter::ToU16(m_Info.strPort); // 绑定socket到一个本地地址 sockaddr_in sin; sin.sin_family = AF_INET; sin.sin_port = htons(PORT); sin.sin_addr.S_un.S_addr = INADDR_ANY; if (::bind(m_Socket, (LPSOCKADDR)&sin, sizeof(sockaddr_in)) == SOCKET_ERROR) { OutputDebugStringA("绑定失败/n"); return false; } // 设置socket进入监听状态 if (::listen(m_Socket, 10) == SOCKET_ERROR) { OutputDebugStringA("监听失败/n"); return false; } //启动监听线程 m_ThreadListen.Start(m_Socket,this); //启动发送线程 m_ThreadSend.Start(this); return true; }
开发者ID:ingeyu,项目名称:airengine,代码行数:35,
示例18: Handlerint SctpSocket::Bind(SocketAddress& ad){ if (!ad.IsValid()) { Handler().LogError(this, "SctpSocket", -1, "invalid address", LOG_LEVEL_ERROR); return -1; } if (GetSocket() == INVALID_SOCKET) { Attach(CreateSocket(ad.GetFamily(), m_type, "sctp")); } if (GetSocket() != INVALID_SOCKET) { int n = bind(GetSocket(), ad, ad); if (n == -1) { Handler().LogError(this, "SctpSocket", -1, "bind() failed", LOG_LEVEL_ERROR);#ifdef ENABLE_EXCEPTIONS throw Exception("bind() failed for SctpSocket, port: " + Utility::l2string(ad.GetPort()));#endif } return n; } return -1;}
开发者ID:BornHunter,项目名称:CGSF,代码行数:25,
示例19: CloseSocketBOOL CServerSocet::StartServer(CString* sError){ if(bCreateSocket) CloseSocket(sError); if(!bInitWinSocket) if (!StartWinSock(sError)) return FALSE; if (!SocketGetHostName(sError)) return FALSE; if (!CreateSocket(sError)) return FALSE; if (!LinkSoketPort(sError)) return FALSE; if (!LinkWindowSocket(hWnd,sError)) return FALSE; if (!ListenSocket(sError)) return FALSE; sokClientSocket = new stSockets *[iMaxCol]; int i; for(i=0;i<iMaxCol;i++) { sokClientSocket[i] = new (stSockets); sokClientSocket[i]->dBase = NULL; sokClientSocket[i]->sUserIP = _T(""); sokClientSocket[i]->bAdmin = FALSE; sokClientSocket[i]->sDataStart = _T(""); sokClientSocket[i]->sok = NULL; sokClientSocket[i]->hThread = 0; } bStatus = TRUE; return TRUE;}
开发者ID:BeL1kOFF,项目名称:SHATE,代码行数:29,
示例20: mainint main(int argc, char* argv[]) { //sending = true; //Socket socket(); InitializeSockets(); CreateSocket(); if (sending) { //SendPacket(data, sizeof(data)); } if (!gameCanStart) { printf("Waiting for players to connect.../n"); FindPlayers(); } ReceivePacket(); ShutdownSockets(); std::cin.get(); return 0;}
开发者ID:craigthelinguist,项目名称:maoristone,代码行数:27,
示例21: ConnectToDWORD cClientSocket::ConnectTo(DWORD u32_ServerIP, USHORT u16_ServerPort){ DWORD u32_Error = ERROR_SUCCESS; if (CreateSocket()) { u32_Error = WSAGetLastError(); cout << "Create socket failed with error " << u32_Error << endl; return u32_Error; } sockaddr_in kAddressStruct; ZeroMemory(&kAddressStruct, sizeof(kAddressStruct)); kAddressStruct.sin_family = AF_INET; kAddressStruct.sin_port = htons(u16_ServerPort); kAddressStruct.sin_addr.s_addr = u32_ServerIP; do { if (connect(m_hSocket, (LPSOCKADDR)&kAddressStruct, sizeof(SOCKADDR_IN)) != 0) { cout << "Could not connect to server. (" << WSAGetLastError() << ")" << endl; } else { cout << "Got connection with server, start working..." << endl; return u32_Error; } Sleep(5000); } while (true);}
开发者ID:mrbean88,项目名称:tcp-serv-cli,代码行数:34,
示例22: m_cserIPCBlockingUDPSocket::CBlockingUDPSocket() : m_cserIP(), m_Socket( 0 ), m_pImpl( new CImpl ){ CreateSocket(); }
开发者ID:Au-heppa,项目名称:source-sdk-2013,代码行数:7,
示例23: runThreadedSocketvoid*runThreadedSocket(void *argv){ char **argvptr = (char **)argv; printf("socket> thread launching/n"); CreateSocket(argvptr); return (void*)NULL; }
开发者ID:pp7462-git,项目名称:sandbox,代码行数:8,
示例24: get_network_thread_for_new_connectionvoid NetworkManager::AcceptNewConnection(){ NetworkThread& worker = get_network_thread_for_new_connection(); SocketPtr connection = CreateSocket(worker); acceptor_->async_accept(connection->socket(), boost::bind(&NetworkManager::OnNewConnection, this, connection, boost::asio::placeholders::error));}
开发者ID:beyourself,项目名称:RustEmu-Core,代码行数:8,
示例25: Connectint CLS_UDP::Connect(){ char *strIP; static struct sockaddr_in sockAddr; if(m_iStatus==SS_UNUSED) { if(CreateSocket()<0) return -1; } if(m_iStatus!=SS_CONNECT) { if(m_iStatus!=SS_BOUND) { if(Bind()<0) return -1; } memset(&sockAddr, 0, sizeof(sockAddr)); sockAddr.sin_family = AF_INET; sockAddr.sin_addr.s_addr = inet_addr(m_strPeerIP); sockAddr.sin_port = htons(m_iPeerPort); if(connect(m_iSocket, (struct sockaddr *)&sockAddr, sizeof(sockAddr))<0) {#ifdef _WIN32 m_iSocketError=GetLastError();// if(!(m_iSocketError==WSAEINPROGRESS || m_iSocketError==WAEISCONN)) if(m_iSocketError!=WSAEISCONN) { if(m_iSocketError==WSAEINVAL) CloseSocket();#else m_iSocketError=errno;// if(!(m_iSocketError==EINPROGRESS || m_iSocketError==EISCONN)) if(m_iSocketError!=EISCONN) { if(m_iSocketError==EINVAL) CloseSocket();#endif return -3; } } if(!(m_strLocalIP[0]||m_iLocalPort)) { strIP=GetLocalHost(&m_iLocalPort); if(strIP) strcpy(m_strLocalIP, strIP); } m_iSocketError=0; m_iStatus=SS_CONNECT; } return 0;}
开发者ID:cocti-zhonghao,项目名称:fj_callSign,代码行数:57,
示例26: socket_SocketHandle::SocketHandle(SocketEventHandle *eventHandle,SocketEventHandle *continueHandle): socket_(INVALID_SOCKET), eventHandle_(eventHandle), continueHandle_(continueHandle){ ZeroMemory(&localAddr_,sizeof(SOCKADDR_IN)); ZeroMemory(&remoteAddr_,sizeof(SOCKADDR_IN)); CreateSocket();}
开发者ID:HunterChen,项目名称:iocp,代码行数:9,
示例27: MAKEWORDHANDLE S3PDBSocketServer::Start(){ HANDLE hRet = NULL; if ( ( NULL != m_hServer ) || ( NULL == m_piRunSignal ) || ( NULL == m_pSocketPool ) || ( NULL == m_hEnablePool ) ) { hRet = NULL; return hRet; } // The follow code is used to initialize // the environment for Windows OS platform // and should be removed or changed when // replanted to other platforms. //------>BEGIN WORD wVersionRequired = MAKEWORD(1,1); WSADATA WSAdata; if ( 0 != WSAStartup( wVersionRequired, &WSAdata ) ) { hRet = NULL; return hRet; } //<------END if ( INVALID_SOCKET == m_Socket ) { if ( FALSE == CreateSocket() ) { hRet = NULL; return hRet; } } // Start up server thread //------>BEGIN if ( NULL != m_pSocketPool ) { m_pSocketPool->Init( m_Socket, m_hEnablePool ); m_pSocketPool->Start(); } *m_piRunSignal = 1; m_ServerParam.piRunSignal = m_piRunSignal; m_ServerParam.pSocketPool = m_pSocketPool; m_ServerParam.serverSocket = m_Socket; m_hServer = KPICreateThread( S3PDBSocketServer::StartServer, &m_ServerParam, &m_dwServerThreadId ); hRet = m_hServer; //<------END return hRet;}
开发者ID:ueverything,项目名称:mmo-resourse-1,代码行数:56,
示例28: main// Send 2 pipelined HTTP requests 1 GET and 1 POST //main(int argc, char *argv[]){ if (argc != 7) { printf("%s serverhost serverport myport postbodylen geturl posturl/n", argv[0]); exit(0); } CreateSocket(argc, argv);}
开发者ID:pp7462-git,项目名称:sandbox,代码行数:12,
示例29: SocketServer_Runint SocketServer_Run(SocketServer* self, char * listening_port_number){ self->itsPort = atoi(listening_port_number); StartWSA(self); CreateSocket(self); BindToSocket(self); WaitForConnection(self); Shutdown(self); return 0;}
开发者ID:adamblack1,项目名称:cslim,代码行数:11,
示例30: SelectWorker void Listener<SocketType>::BeginAccept() { auto worker = SelectWorker(); auto socket = worker->CreateSocket(); m_acceptor->async_accept(socket->GetAsioSocket(), [this, worker, socket] (const boost::system::error_code &ec) { this->OnAccept(worker, socket, ec); }); }
开发者ID:Ghaster,项目名称:mangos-classic,代码行数:11,
注:本文中的CreateSocket函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ CreateSolidBrush函数代码示例 C++ CreateShader函数代码示例 |