python - 接受与套接字的无限连接

标签 python sockets chat

我正在使用套接字编程在 python 中创建一个简单的聊天应用程序,我需要我的套接字接受无限数量的连接,不像这个限制为 100 的“socket.listen(100)”。请解释我应该怎么做处理大量连接?

最佳答案

listen() 给出的数字是 backlog 队列的大小 - 提示 未决请求的数量,而不是事件请求数。

您经常会看到 5 的值用于 backlog 参数 - 这是历史记录。 Berkeley 套接字的早期版本有一个“特性”,即任何大于 5 的值都只给出 5。所以它是 5。这在很久以前就已修复,但仍然不是您需要过分担心的数字 - 请记住,这只是一个提示。

如果积压超出,则给客户端的实际错误通常是包罗万象的ECONNREFUSED,但旧系统过去常常有特定的积压错误。

在许多系统上,backlog 被静默地截断为 SOMAXCONN

另见 listen() ignores the backlog argument?

关于python - 接受与套接字的无限连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41595176/

相关文章:

python - mysql在sql插入语句中写入变量

Python:非阻塞套接字或异步 I/O

php - 如何配对用户? (比如 Omegle.com)

C raw sockets 数据包看起来不错但没有逃脱网络

c - TCP/IP 套接字,读取错误? (Linux)

java - 如何在Web应用程序中运行jar文件

javascript - NodeJS 聊天服务器示例代码

python - 使用 beutifulsoup 和 Mechanize 从 html 表中获取文本时出错

python - 在 Scrapy 中使用 XPath 提取 HTML 结果失败,因为内容是动态加载的

python - 新数据框的唯一性