使用 Python socket 模块实现 TCP通信

2023-04-04 00:00:00 python 模块 通信

下面是一个使用 Python socket 模块实现 TCP 通信的简单示例,其中包括一个服务器和一个客户端:

服务器端代码:

import socket

# 创建一个TCP套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定IP地址和端口号
server_address = ('localhost', 8888)
server_socket.bind(server_address)

# 监听客户端连接
server_socket.listen(1)
print('等待客户端连接...')

# 接受客户端连接请求
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)

# 接收客户端发送的数据
data = client_socket.recv(1024)
print('接收到的数据:', data.decode('utf-8'))

# 发送响应数据给客户端
response_data = 'Hello, pidancode.com!'
client_socket.sendall(response_data.encode('utf-8'))

# 关闭连接
client_socket.close()
server_socket.close()

客户端代码:

import socket

# 创建一个TCP套接字对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接服务器
server_address = ('localhost', 8888)
client_socket.connect(server_address)
print('连接服务器成功!')

# 发送数据给服务器
request_data = '皮蛋编程'
client_socket.sendall(request_data.encode('utf-8'))

# 接收服务器响应的数据
response_data = client_socket.recv(1024)
print('接收到的数据:', response_data.decode('utf-8'))

# 关闭连接
client_socket.close()

在运行以上代码之前,需要确保服务器端代码先于客户端代码运行。此外,为了演示方便,以上示例均在本地运行,IP 地址使用了 localhost。如果需要在不同的主机之间进行通信,则需要将 IP 地址修改为对应的 IP 地址。

相关文章