主要就是那个时间数据类型不一致。正常设置后,retOpt为0,否则为-1。
windows:
int nTvlen=1000; //1s
int retOpt=setsockopt(m_Socket,SOL_SOCKET, SO_RCVTIMEO, (const char*)&nTvlen,sizeof(nTvlen));
linux:
struct timeval nTvlen={1,0}; //1S
int retOpt=setsockopt(m_Socket,SOL_SOCKET, SO_RCVTIMEO, (const char*)&nTvlen,sizeof(nTvlen));
跨平台时间设置

本文讨论了在Windows和Linux平台上设置套接字接收超时时间的方法。对于不同的操作系统,需要使用不同格式的时间数据类型来设置超时选项。在Windows中使用整数表示1秒,在Linux中则使用timeval结构体。
2633

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



