当前位置: 技术问答>linux和unix
关于connect的问题
来源: 互联网 发布时间:2015-12-06
本文导语: 我的服务器端是 单线程模式,既一次只处理一个socket连接 可是为什么当服务器已经有一个连接时, 其它程序再 connect 服务器,仍然返回 0, 而我的服务器如果很久没有处理这些队列中的连接,那么这些客户程序...
我的服务器端是 单线程模式,既一次只处理一个socket连接
可是为什么当服务器已经有一个连接时, 其它程序再 connect 服务器,仍然返回 0, 而我的服务器如果很久没有处理这些队列中的连接,那么这些客户程序将会异常中止,请问客户端该如何处理? 有没有办法让 connect在确认连接上服务器的时候再返回0
谢谢
可是为什么当服务器已经有一个连接时, 其它程序再 connect 服务器,仍然返回 0, 而我的服务器如果很久没有处理这些队列中的连接,那么这些客户程序将会异常中止,请问客户端该如何处理? 有没有办法让 connect在确认连接上服务器的时候再返回0
谢谢
|
backlog 是未决连接数,不是连到服务器的客户端数量。
可以定义一个标识,服务器接受连接时,验证是否已存在连接
或者服务器接收到第一个连接后,关掉监听socket。
可以定义一个标识,服务器接受连接时,验证是否已存在连接
或者服务器接收到第一个连接后,关掉监听socket。
|
既然你的服务器就只能处理一个connection, 那应该listen 函数的第二个参数应该为1, 这样如果有其他client 要connect, 就会出错了
|
用个变量控制一下