我试图找到有关socket编程例子并且这个脚本来了: http://stacklessexamples.googlecode.com/svn/trunk/examples/联网/ mud.py

当通过该脚本读我发现这个行: listenSocket.listen(5)

据我所知 - 它从缓冲器读取的5个字节,然后再执行的东西与它...

但如果超过5个字节是由另一端发送会发生什么?

在其他地方,脚本的它检查对4个输入的命令,并认为如果存在\ r \ n中的字符串中。不命令像“看”加\ r \ n弥补超过5个字节?

艾伦

有帮助吗?

解决方案

以下是适用于一般的插座,但它应该帮助回答您的具体问题有关使用套接字从Python的。

socket.listen()上使用的服务器插座监听传入的连接请求。

传递给听的参数叫做的积压的,这意味着许多连接应该怎么插座接受并放于待决缓冲器,直到完成调用accept()。这适用于正在等待连接到你叫听()的时候,你已经完成了配套的呼叫接受的时间()。

之间连接到服务器套接字

所以,在你的榜样,你要积压设置为5个连接。

注意 ..如果您的积压设置为5个连接,下面连接(第六,第七等)将被丢弃,并安装接管将收到的错误连接消息(像一个“宿主积极拒绝连接”的消息)

其他提示

这可能会帮助你理解代码: http://www.amk.ca/蟒/ HOWTO /插座/

的参数5listenSocket.listen不是读取或缓冲的字节数,它是backlog

  

socket.listen(backlog)

     

收听用于向形成的连接   插座。积压参数指定   的排队的最大数量   连接和应至少为1;   最大值是依赖于系统的   (通常为5)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top