在Ubuntu上进行Python网络编程,你可以使用Python的内置库socket来实现。以下是一个简单的TCP网络编程示例,包括一个服务器端和一个客户端。
服务器端:
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: {data.decode('utf-8')}")
# 发送数据
client_socket.sendall("Hello from server".encode('utf-8'))
# 关闭客户端连接
client_socket.close()
客户端:
import socket
# 创建一个socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('127.0.0.1', 12345))
# 发送数据
client_socket.sendall("Hello from client".encode('utf-8'))
# 接收数据
data = client_socket.recv(1024)
print(f"Received data: {data.decode('utf-8')}")
# 关闭客户端连接
client_socket.close()
首先运行服务器端代码,然后运行客户端代码。服务器将接收来自客户端的连接和数据,并发送响应。
这只是一个简单的示例,你可以根据自己的需求进行扩展。例如,可以使用多线程或多进程来处理多个客户端连接,或者使用更高级的库如asyncio来实现异步网络编程。