#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"mswsock.lib")
#define MEMSIZE_STR 1024
char * sendBuf = (char *)malloc(MEMSIZE_STR); //发送缓存
char * recvBuf = (char *)malloc(MEMSIZE_STR); //接收缓存
SOCKADDR_IN addrClient;
SOCKADDR_IN addSrv;
void Setioctlsocket(SOCKET s) //设置非阻塞模式
{
unsigned long flag=1;
ioctlsocket(s,FIONBIO,(unsigned long*)&flag);
}
bool Getioctlsocket(SOCKET s) //检测结果,设置阻塞模式
{
bool TheFlag=false;
struct timeval timeout;
fd_set sets;
FD_ZERO(&sets);
FD_SET(s,&sets);
timeout.tv_sec=10; //超时10秒
timeout.tv_us

本文通过C++示例展示了如何使用WinAPI创建一个服务端,监听并处理来自多个客户端的连接。服务端接收到连接请求后,会创建新线程进行处理。同时,客户端通过非阻塞模式进行连接,并在超时10秒后给出响应。该示例涉及Socket编程、线程管理和超时处理。
最低0.47元/天 解锁文章
2180

被折叠的 条评论
为什么被折叠?



