网络编程和套接字编程在Python中是非常常见的。下面我将为你提供一个简单的示例,展示如何在Python中使用套接字(sockets)来创建一个简单的客户端-服务器应用程序。
服务器端代码
python复制代码
import socket | |
def start_server(): | |
# 创建一个socket对象 | |
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
# 绑定到一个地址和端口 | |
server_socket.bind(('localhost', 12345)) | |
# 开始监听连接 | |
server_socket.listen(1) | |
print("服务器已启动,等待连接...") | |
# 接受客户端连接 | |
while True: | |
client_socket, client_address = server_socket.accept() | |
print(f"接受到来自 {client_address} 的连接") | |
# 接收客户端发送的数据 | |
data = client_socket.recv(1024) | |
print(f"收到数据: {data.decode()}") | |
# 向客户端发送数据 | |
client_socket.send("服务器已收到你的消息!".encode()) | |
# 关闭连接 | |
client_socket.close() | |
if __name__ == "__main__": | |
start_server() |
客户端代码
python复制代码
import socket | |
def start_client(): | |
# 创建一个socket对象 | |
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
# 连接到服务器 | |
client_socket.connect(('localhost', 12345)) | |
# 向服务器发送数据 | |
client_socket.send("你好,服务器!".encode()) | |
# 接收服务器发送的数据 | |
data = client_socket.recv(1024) | |
print(f"收到服务器的数据: {data.decode()}") | |
# 关闭连接 | |
client_socket.close() | |
if __name__ == "__main__": | |
start_client() |
如何运行
- 首先,确保你已经在你的机器上安装了Python。
- 将服务器代码保存为一个名为
server.py
的文件,将客户端代码保存为一个名为client.py
的文件。 - 打开一个终端或命令提示符,并运行服务器:
python server.py
。 - 打开另一个终端或命令提示符,并运行客户端:
python client.py
。
你应该会在服务器的终端上看到客户端发送的消息的确认,并在客户端的终端上看到从服务器接收到的消息。
这只是Python网络编程和套接字编程的一个简单示例。在实际应用中,你可能需要处理更复杂的场景,如并发连接、错误处理、数据加密等。