我试图找到有关套接字编程的示例并找到了这个脚本: http://stacklessexamples.googlecode.com/svn/trunk/examples/networking/mud.py
当阅读这个脚本时,我发现了这一行: listenSocket.listen(5)
据我了解 - 它从缓冲区读取 5 个字节,然后用它做一些事情......
但是如果另一端发送了超过 5 个字节会怎样?
在该脚本的另一个地方,它根据 4 个命令检查输入并查看字符串中是否有\r\n。像“look”这样的命令加上\r\n 不会超过 5 个字节吗?
艾伦
请您参考如下方法:
以下内容一般适用于套接字,但它应该有助于回答您关于从 Python 使用套接字的具体问题。
socket.listen() 在服务器 套接字上用于监听传入的连接请求。
传递给 listen 的参数称为 backlog,它表示在您完成对 accept() 的调用之前,套接字应该接受多少个连接并将其放入待定缓冲区。这适用于在调用 listen() 和完成对 accept() 的匹配调用之间等待连接到服务器套接字的连接。
因此,在您的示例中,您将积压设置为 5 个连接。
注意.. 如果您将 backlog 设置为 5 个连接,则以下连接(第 6 个、第 7 个等)将被丢弃,连接套接字将收到连接错误 消息(类似“主机主动拒绝连接”的消息)
