在Ubuntu上使用Python进行网络编程,你可以使用Python的内置库socket来实现。以下是一个简单的TCP服务器和客户端的示例。
tcp_server.py的文件。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"[+] {client_address} is connected.")
# 接收数据
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()
python3 tcp_server.py
tcp_client.py的文件。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 = input("Enter message to send: ")
client_socket.send(message.encode('utf-8'))
# 接收数据
data = client_socket.recv(1024).decode('utf-8')
print(f"[*] Received response: {data}")
# 关闭客户端连接
client_socket.close()
python3 tcp_client.py
现在,你可以在客户端输入消息并发送到服务器。服务器将接收消息并将其发送回客户端。
这只是一个简单的示例,你可以根据需要进行扩展和修改。Python还提供了其他网络编程库,如asyncio、http.server等,可以根据项目需求选择合适的库。