【问题标题】:What is the maximum packet size a python socket can handle?python 套接字可以处理的最大数据包大小是多少?
【发布时间】:2010-01-19 04:35:22
【问题描述】:

我是 python 网络编程的新手。我想知道我们可以在 python 套接字上传输或接收的最大数据包是多少?以及如何找到它?

【问题讨论】:

  • 我认为这取决于您计划使用的协议。

标签: python sockets network-programming


【解决方案1】:

单个数据包中可以发送的实际数据量取决于您使用的协议的最大传输单元 (MTU)。阅读维基百科文章了解更多信息。

不过,这通常是您不必担心的——如果您发送的 TCP 数据包太大,操作系统会为您fragment(将其转换为多个数据包)并将其重新组合在主机上。

顺便说一句,Python 的套接字库使用操作系统的套接字,所以它对 Python 没什么特别的。

【讨论】:

    【解决方案2】:

    我认为没有任何特定于 Python 的限制。 UDP 数据包的理论限制约为 65kb,而 TCP 没有上限,但如果您使用的数据包超过几千字节,则会出现流量控制问题。

    【讨论】:

      【解决方案3】:

      我认为他们不在一个级别,如果您想操作原始包,请查看dpkt & scapy

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-14
        • 1970-01-01
        • 2014-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 2013-01-01
        相关资源
        最近更新 更多