我写的网络通讯程序
服务端用的是 select + 单线程 + 阻塞模式一开始的时候服务端和客户端都没设超时,结果有时候因为客户端异常,会出现服务端卡死在recv和send的现象后来我在服务端和客户端都加了超时设置那么我想请教下,客户端的SOCKET要不要设置超时?因为服务端用单线程模式的话,我觉得有可能出现如下情况:多个客户端同时有请求,服务端会一个一个处理客户端请求,如果客户端设了超时,那么最后一个客户端,很可能等不到服务器的响应就发生recv超时了如果不设的话,就不会出现这种情况有没有高人指点下,我的想法是否正确
服务端用的是 select + 单线程 + 阻塞模式一开始的时候服务端和客户端都没设超时,结果有时候因为客户端异常,会出现服务端卡死在recv和send的现象后来我在服务端和客户端都加了超时设置那么我想请教下,客户端的SOCKET要不要设置超时?因为服务端用单线程模式的话,我觉得有可能出现如下情况:多个客户端同时有请求,服务端会一个一个处理客户端请求,如果客户端设了超时,那么最后一个客户端,很可能等不到服务器的响应就发生recv超时了如果不设的话,就不会出现这种情况有没有高人指点下,我的想法是否正确
int timeout = 2000;
Rtn = setsockopt(m_socket, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));