📜  通过 tcp 套接字发送数据 python (1)

📅  最后修改于: 2023-12-03 15:41:58.988000             🧑  作者: Mango

通过 TCP 套接字发送数据 Python

TCP套接字是一种在网络中传输可靠的字节流的工具,将消息分开传输,并将其重组成 TCP 套接字,以确保消息在传输过程中的完整性。在Python中,创建TCP套接字是通过socket库完成的。

创建 TCP 套接字

以下代码演示了如何在Python中创建TCP套接字:

import socket

# 创建TCP套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定 IP 地址和端口号
tcp_socket.bind(("127.0.0.1", 8888))

在上面的示例中,我们使用socket.AF_INET表示套接字类型为IPv4地址族,socket.SOCK_STREAM表示套接字类型为流式套接字。调用socket.socket()函数将创建一个新的TCP套接字。然后我们将TCP套接字绑定到一个本地IP地址和端口号。

连接到服务器
# 连接到服务器
tcp_socket.connect(("127.0.0.1", 8888))

一旦我们的TCP套接字已经绑定到一个IP地址和端口号,我们可以使用tcp_socket.connect()方法来连接到服务器。在这种情况下,我们将连接到127.0.0.1和端口号8888的服务器。

发送数据
# 发送数据
data = "Hello, world!"
tcp_socket.send(data.encode("utf-8"))

在Python中,可以使用tcp_socket.send()方法将数据作为字节序列发送到连接的TCP套接字中。在上述示例中,我们使用encode()方法将字符串转换为字节序列,并将其发送到服务器。

接收数据
# 接收数据
data = tcp_socket.recv(1024)
print(data.decode("utf-8"))

我们还可以使用tcp_socket.recv()方法从服务器接收数据。本例中,我们接收长度为1024字节的数据,并将其解码为UTF-8编码的字符串以进行输出。

关闭连接
# 关闭连接
tcp_socket.close()

在完成TCP通信后,我们应该关闭连接以释放系统资源。在Python中,可以使用tcp_socket.close()方法来关闭连接。

以上是使用TCP套接字在Python中发送数据的方法和示例。TCP套接字提供了可靠的、面向连接的数据传输,适用于客户端/服务器应用程序。