当然,以下是一个简单的Python示例,展示了如何创建一个基本的socket服务端和客户端。服务端将监听一个端口,等待客户端的连接,并简单地回显(echo)接收到的消息。
### 服务端代码 (`server.py`)
import socket
def start_server(host='127.0.0.1', port=12345):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket:
server_socket.bind((host, port))
server_socket.listen()
print(f"Server is listening on {host}:{port}")
conn, addr = server_socket.accept()
with conn:
print(f"Connected by {addr}")
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data) # Echo the data back to the client
if __name__ == "__main__":
start_server()
### 客户端代码 (`client.py`)
import socket
def start_client(host='127.0.0.1', port=12345, message='Hello, server!'):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
client_socket.connect((host, port))
client_socket.sendall(message.encode())
data = client_socket.recv(1024)
print(f'Received from server: {data.decode()}')
if __name__ == "__main__":
start_client()
### 使用说明
1. 首先,确保你有一个Python环境。
2. 将上面的服务端代码保存为`server.py`,客户端代码保存为`client.py`。
3. 在一个命令行窗口中,运行服务端:`python server.py`。
4. 在另一个命令行窗口中,运行客户端:`python client.py`。
5. 客户端将向服务端发送一条消息,并接收来自服务端的回显消息。
这个示例展示了基本的socket通信流程,包括监听端口、接受连接、发送和接收数据。你可以根据需要修改这些示例,以实现更复杂的通信逻辑。