温馨提示×

Ubuntu Python网络编程如何实现

小樊
58
2025-02-21 19:53:02
栏目: 编程语言

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

TCP服务器

# server.py import socket # 创建一个socket对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定IP地址和端口 server_socket.bind(('0.0.0.0', 12345)) # 监听连接 server_socket.listen(5) print("Server is listening on port 12345") while True: # 接受客户端连接 client_socket, client_address = server_socket.accept() print(f"Connection from {client_address}") # 接收数据 data = client_socket.recv(1024) print(f"Received: {data.decode('utf-8')}") # 发送数据 client_socket.sendall(b"Hello, Client!") # 关闭客户端连接 client_socket.close() 

TCP客户端

# client.py import socket # 创建一个socket对象 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接到服务器 client_socket.connect(('127.0.0.1', 12345)) # 发送数据 client_socket.sendall(b"Hello, Server!") # 接收数据 data = client_socket.recv(1024) print(f"Received: {data.decode('utf-8')}") # 关闭客户端连接 client_socket.close() 

运行示例

  1. 在终端中运行服务器脚本:
python3 server.py 
  1. 在另一个终端中运行客户端脚本:
python3 client.py 

你应该会看到服务器和客户端之间的通信。

UDP服务器和客户端

如果你想使用UDP协议,可以将socket.SOCK_STREAM替换为socket.SOCK_DGRAM,并相应地调整代码。

UDP服务器

# udp_server.py import socket # 创建一个socket对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定IP地址和端口 server_socket.bind(('0.0.0.0', 12345)) print("UDP Server is listening on port 12345") while True: # 接收数据 data, client_address = server_socket.recvfrom(1024) print(f"Received from {client_address}: {data.decode('utf-8')}") # 发送数据 server_socket.sendto(b"Hello, Client!", client_address) 

UDP客户端

# udp_client.py import socket # 创建一个socket对象 client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 服务器地址和端口 server_address = ('127.0.0.1', 12345) # 发送数据 client_socket.sendto(b"Hello, Server!", server_address) # 接收数据 data, _ = client_socket.recvfrom(1024) print(f"Received: {data.decode('utf-8')}") # 关闭客户端连接 client_socket.close() 

运行UDP示例

  1. 在终端中运行UDP服务器脚本:
python3 udp_server.py 
  1. 在另一个终端中运行UDP客户端脚本:
python3 udp_client.py 

你应该会看到UDP服务器和客户端之间的通信。

这些示例展示了如何在Ubuntu上使用Python进行基本的网络编程。你可以根据需要扩展这些示例,添加更多的功能和复杂性。

0