【问题标题】:Does a Python 3 TCP Socket have to be connected in order to send data? Or not like UDP?是否必须连接 Python 3 TCP 套接字才能发送数据?还是不喜欢UDP?
【发布时间】:2018-08-05 08:34:33
【问题描述】:

我想创建一个不连接到主机而是发送数据而不连接的 TCP Socket……这可以通过 Python 3 Socket 模块实现吗?

【问题讨论】:

  • TCP 总是关于连接到另一端。如果您不想显式连接,请使用 UDP 协议。
  • “连接”对您意味着什么?

标签: python sockets networking tcp connection


【解决方案1】:

在发送数据之前总是需要连接 TCP 套接字。建立连接涉及与对等方的实际数据包交换,即TCP 3-way handshake。这也意味着如果无法到达目标,连接可能会失败。这不是特定于 Python,而是特定于 TCP 套接字的工作方式。

使用 UDP 可以连接套接字,但不是必须的。连接 UDP 套接字本质上只是在本地套接字上设置目标,但不涉及任何实际的数据传输。这也意味着连接通常不会失败,但以后的数据传输可能无法到达目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2012-05-25
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多