在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(b"Hello, client!")
# 关闭客户端连接
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(b"Hello, server!")
# 接收数据
data = client_socket.recv(1024)
print(f"Received data: {data.decode('utf-8')}")
# 关闭连接
client_socket.close()
import socket
# 创建一个socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP地址和端口
server_socket.bind(('0.0.0.0', 12345))
print("Server is listening on port 12345")
while True:
# 接收数据
data, client_address = server_socket.recvfrom(1024)
print(f"Received data: {data.decode('utf-8')} from {client_address}")
# 发送数据
server_socket.sendto(b"Hello, client!", client_address)
import socket
# 创建一个socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据
client_socket.sendto(b"Hello, server!", ('127.0.0.1', 12345))
# 接收数据
data, server_address = client_socket.recvfrom(1024)
print(f"Received data: {data.decode('utf-8')} from {server_address}")
# 关闭连接
client_socket.close()
要运行这些示例,请将它们分别保存为tcp_server.py
、tcp_client.py
、udp_server.py
和udp_client.py
,然后在终端中运行它们。首先启动服务器,然后运行客户端。
注意:这些示例仅用于演示目的,实际应用中可能需要处理异常、超时等情况。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>