|
发表于 2009-8-12 11:36:29
|
显示全部楼层
呵呵,listen函数后面的侦听队列应该是可以设置最大128个,印象中。
不过这个和你要侦听超过128个socket_fd并不矛盾。
例如:
listen(socket_svr,5)
int cfd;
cfd=accept(socket_svr,*,*)//*代表相应结构体,具体可以man下
我们考虑网络中瞬间发生的事情,当一个客户端,连接过来的时候,
accetp返回前,此时,listen函数还可以侦听4个,但是当accept返回后,listen 又可以侦听5个了
所以只要我们每次都记住为客户端开启的文件句柄,就可以与服务器通讯了,
至于文件句柄数,是有限制的,可以通过ulimit -n,查询。侦听客户端,最大是不能超过这个数目的,好在这个数目,可以调整。(越大电脑越慢)
(我是这样理解的,不知道,对不对) |
|