= 0) { std::cerr << "WSAStartup failed. "; return 1; } SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sock == INVALID_SOCKET) { std::cerr << "socket failed: " << WSAGetLastError() << " "; WSACleanup(); return 1; } sockaddr_...
INVALID_SOCKET表示一个无效的套接字,除此之外的0--INVALID_SOCKET-1都表示一个有效的套接字。因此在创建套接字后,都需要与INVALID_SOCKET比较,看创建的套接字是否有效。 SOCKET s=socket(...); if(INVALID_SOCKET==s) { //创建失败。 } Windows SOCKET可以支持多种不同的网络协议,并且提供与协议无关的编...
否则,将返回值 INVALID_SOCKET,并且可以通过调用 WSAGetLastError 来检索特定的错误代码。 示例代码: SOCKET sf = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //TCP协议 三、bind() int WSAAPI bind( [in] SOCKET s, [in] const sockaddr *name, [in] int namelen ); 参数 [in] s 标识未绑定套接...
// 1. 创建服务端句柄(套接字)// AF_INET ipv4 AF_INET6 ipv6// SOCK_STREAM --> TCP SOCK_DREAM --> UDPSOCKET sockServer=socket(AF_INET,SOCK_STREAM,0);if(INVALID_SOCKET==sockServer){printf("创建服务端句柄失败\n");WSACleanup();return-1;}printf("1. 创建服务端成功\n"); 当调用sock...
SOCKET socket (int af, int type, int protocol ); 参数说明 af:指定地址家族,AF_INET type: SOCK_STREAM或SOCK_DGRAM,前者用于TCP,后者用于UDP protocol:设置为0即可 作用: 创建一个SOCKET 返回值 创建失败返回INVALID_SOCKET 4 bind 原型: int bind( SOCKET s, const struct sockaddr FAR *name,int name...
SOCKET socket(int af,int type,int protocol); af:地址族,协议地址族 type:标识套接字的类型,SOCKE_STREAM示流式套接字;SOCKE_DGRAM表示数据报套 接字;SOCKE_RAM表示原始套接字 protocol:用于指定套接字所用的协议。 返回值 成功返回SOCKET,失败返回INVALID_SOCKET ...
SOCKET slisten=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(slisten==INVALID_SOCKET) { cout<<"socket error !"<<endl; return 0; } //绑定IP和端口 sockaddr_in sin;//ipv4的指定方法是使用struct sockaddr_in类型的变量 sin.sin_family = AF_INET; ...
SOCKET ListenSocket = INVALID_SOCKET; // socket 函数创建绑定到特定 //为服务器创建一个SOCKET来监听客户端连接 //socket函数创建绑定到特定传输服务提供者的套接字。 //参数1:地址族规范 //参数2:新套接字的类型规范 //参数3:使用的协议 ListenSocket = socket(result->ai_family, result->ai_socktype,...
server_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if(server_socket == INVALID_SOCKET) /* 调用 socket 不成功, 返回 INVALID_SOCKET,调用 WSAGetLastError() 可查看错误代码 */ { error = WSAGetLastError();// TODO: 错误处理 return 0;} // 进行 Socket 绑定 internet_addr.sin_...
否则,返回值WSA_INVALID_EVENT。 作用 创建新的事件对象int WSAAPI WSAEventSelect( SOCKET s, //标识套接字的描述符。 WSAEVENT hEventObject, //标识要与指定FD_XXX网络事件集关联的事件对象的句柄。 long lNetworkEvents//一个位掩码,指定应用程序感兴趣的FD_XXX网络事件的组合。 ); ...