用python编写一个可以互相通信的客户端和服务端,客户端可以发送消息给服务端,服务端可以发送消息给指定客户端,可以显示身份信息
时间: 2024-03-18 07:44:12 浏览: 59
好的,下面是使用 Python 编写一个可以互相通信的客户端和服务端的代码:
服务端代码:
```python
import socket
s = socket.socket()
host = socket.gethostname()
port = 12345
s.bind((host, port))
s.listen(5)
print('等待客户端连接...')
while True:
conn, addr = s.accept()
print('连接来自:', addr)
conn.send(b'欢迎来到聊天室!请输入你的昵称:')
name = conn.recv(1024).decode('utf-8')
print('客户端', name, '已连接!')
conn.send(('你好,' + name + '!').encode('utf-8'))
while True:
data = conn.recv(1024).decode('utf-8')
if not data:
break
print(name + ':', data)
conn.send(('你说了:' + data).encode('utf-8'))
print(name, '已离开!')
conn.send(b'bye')
conn.close()
```
客户端代码:
```python
import socket
s = socket.socket()
host = socket.gethostname()
port = 12345
s.connect((host, port))
print(s.recv(1024).decode('utf-8'))
name = input()
s.send(name.encode('utf-8'))
print(s.recv(1024).decode('utf-8'))
while True:
message = input('我:')
s.send(message.encode('utf-8'))
data = s.recv(1024).decode('utf-8')
if data == 'bye':
print('服务器已关闭!')
break
print('服务器:', data)
s.close()
```
这个程序可以实现简单的聊天功能,客户端和服务端可以相互发送消息,并且可以显示身份信息。在程序中,服务端会要求客户端输入昵称,客户端输入后会发送给服务端,服务端会在后面的聊天中显示客户端的昵称。
阅读全文