Listen 可以让一个面向连接的 Socket 侦听传入的连接尝试。backlog 参数指定队列中最多可容纳的等待接受的传入连接数。若要确定可指定的最大连接数,请检索 MaxConnections 值。Listen 不会阻止。

解决方案 »

  1.   

    Listen 是最大连接等待数吧
      

  2.   

    这个是表明Socket进行监听处理的队列容量。例如你去银行办事,窗口只有5个但人很多就得排队,银行会自己设定一个合适的排队长度(就相当于你设置的backlog数目),例如只能有20个人在等待,人再多5个窗口就忙不过来了。
    如果你是第21个到达的,那你就会被告知一个消息,说你暂时不能进入银行排队等候。这个在MSDN有描述:The listen function is typically used by servers that can have more than one connection request at a time. If a connection request arrives and the queue is full, the client will receive an error with an indication of WSAECONNREFUSED.
    详细内容的地址:http://technet.microsoft.com/zh-cn/library/aa924101。
    所以你设置数目1适合你连接的客户端数目是没有关系的。1相当于是排队的长度,但银行是可以为多人服务的。也就是说监听socket可以接入多个客户端连接。
      

  3.   

    Listen中的参数为队列数量,并不是最大连接数量