一个服务端accept的时候,如果有多个客户端同时connect,会怎样处理?
机制:阻塞模式下,服务端一个套接字组 循环accept,用完一个套接字,判断套接字是否可用,再accept下一个
如果有多个客户端同时connect
这个服务端的套接字,会对应多个客户端套接字吗,还是accept一个再accept下一个
[解决办法]
一个个处理.
[解决办法]
连接请求会入队,accept依次处理。如果超出设置的最大可接受的连接数,就放弃。
[解决办法]
一个一个accept。
[解决办法]
listen的第二个参数,accept一个一个处理,
[解决办法]
一个个处理,socket自己就有 一个缓存队列,你可以设置大小,当有链接上来来不及处理时,入队。处理完上一个后从队列中取下一个
[解决办法]
每个连接都要accept一下
[解决办法]
一个接一个处理,accept成功后,自己决定处理结果
[解决办法]
lock;
accept
unlock;
accept被互斥对象或临界对象夹在中间,每次获得的socket可以一次性处理,或放入socket对象池中,用异步处理