pyhon实现即作为客户端又作为服务端
时间: 2023-11-03 17:04:15 浏览: 45
Python可以通过socket模块实现即作为客户端又作为服务端的功能。下面是一个简单的示例代码:
服务端:
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen(1)
print('Server start listening...')
while True:
conn, addr = server_socket.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024).decode()
if not data:
break
print('Received message:', data)
conn.sendall(('Server has received your message: ' + data).encode())
conn.close()
```
客户端:
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
while True:
message = input('Enter message to send: ')
client_socket.sendall(message.encode())
data = client_socket.recv(1024).decode()
print('Received message:', data)
client_socket.close()
```
以上代码可以实现一个简单的echo服务器,当客户端连接上来后,服务端会将客户端发送的消息原样返回给客户端。注意在客户端程序中需要使用input函数获取用户输入的消息。