1)多个客户端连接socket服务器,怎么区分是哪个客户端连接的,换句话说,socket 怎么和客户端的ip一一对应?
SOCKADDR_IN clientAddr;
int socketLen = sizeof(SOCKADDR_IN);
m_pListenSocket->Accept(*pClient,(SOCKADDR*)&clientAddr, &socketLen);
unsigned long m_lIP;
m_lIP = clientAddr.sin_addr.S_un.S_addr;short m_nPort;m_nPort= clientAddr.sin_port;
2)Select 模型的最大连接数默认为64,可以修改Winsock2.h进行修改;
#ifndef FD_SETSIZE
#define FD_SETSIZE 64
#endif /* FD_SETSIZE */
在上面这段代码前面定义一个 #define FD_SETSIZE 1024 就可以将连接数改成1024了;
3)select 模型,服务器如何检测客户端socket是否关闭?
通过FD_CLOSE