python socket回显
时间: 2023-10-06 22:14:02 浏览: 36
可以使用Python的socket模块实现回显功能,具体实现方式如下:
1. 创建一个Socket对象,并绑定IP地址和端口号。
```python
import socket
HOST = 'localhost' # IP地址
PORT = 8888 # 端口号
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建一个Socket对象
server_socket.bind((HOST, PORT)) # 绑定IP地址和端口号
```
2. 接收客户端连接,并循环监听客户端发送的消息。
```python
server_socket.listen(5) # 最多允许5个客户端连接
while True:
print('等待客户端连接...')
client_socket, addr = server_socket.accept() # 接收客户端连接
print('客户端已连接,地址为:', addr)
while True:
recv_data = client_socket.recv(1024) # 接收客户端发送的消息
if not recv_data:
break
print('收到消息:', recv_data.decode('utf-8'))
client_socket.send(recv_data) # 发送回显消息
client_socket.close() # 关闭客户端连接
```
3. 运行代码并使用Telnet测试回显功能。
```python
$ python echo_server.py
等待客户端连接...
客户端已连接,地址为: ('127.0.0.1', 57484)
收到消息: Hello World!
```
在另一个终端窗口中使用Telnet连接服务器,然后发送消息并等待回显。
```python
$ telnet localhost 8888
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello World!
Hello World!
```