ubuntu

Ubuntu上Python网络编程怎么实现

小樊
46
2025-06-05 04:44:48
栏目: 编程语言

在Ubuntu上使用Python进行网络编程,你可以使用Python的内置库socket来实现。以下是一个简单的TCP服务器和客户端的示例。

TCP服务器

  1. 打开一个文本编辑器,创建一个名为tcp_server.py的文件。
  2. 将以下代码复制到文件中:
import socket

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

# 绑定IP地址和端口
server_host = '127.0.0.1'
server_port = 12345
server_socket.bind((server_host, server_port))

# 监听连接
server_socket.listen(5)
print(f"[*] Listening on {server_host}:{server_port}")

while True:
    # 接受客户端连接
    client_socket, client_address = server_socket.accept()
    print(f"[+] Accepted connection from {client_address[0]}:{client_address[1]}")

    # 接收数据
    data = client_socket.recv(1024).decode('utf-8')
    print(f"[+] Received message: {data}")

    # 发送数据
    response = f"[*] Server received: {data}"
    client_socket.send(response.encode('utf-8'))

    # 关闭客户端连接
    client_socket.close()
  1. 保存文件并关闭编辑器。
  2. 在终端中,运行python3 tcp_server.py启动服务器。

TCP客户端

  1. 打开一个文本编辑器,创建一个名为tcp_client.py的文件。
  2. 将以下代码复制到文件中:
import socket

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

# 连接到服务器
server_host = '127.0.0.1'
server_port = 12345
client_socket.connect((server_host, server_port))

# 发送数据
message = "Hello, Server!"
client_socket.send(message.encode('utf-8'))

# 接收数据
data = client_socket.recv(1024).decode('utf-8')
print(f"[+] Received response: {data}")

# 关闭客户端连接
client_socket.close()
  1. 保存文件并关闭编辑器。
  2. 在另一个终端中,运行python3 tcp_client.py启动客户端。

现在,你应该看到服务器和客户端之间的通信。客户端发送一条消息到服务器,服务器接收并回复一条确认消息。

这只是一个简单的示例,你可以根据需要扩展它,例如添加多线程或多进程支持、实现更复杂的协议等。

0
看了该问题的人还看了