sockt聊天室python
时间: 2024-09-14 07:07:33 浏览: 31
Socket聊天室是一种常见的网络应用,利用Python的socket库可以创建一个简单的文本式通信环境,让多客户端能够通过网络连接并实时交流信息。以下是基本的步骤:
1. **服务器端**:
- 创建一个TCP服务器,监听指定端口。
- 当有新客户端连接时,开启一个新的线程处理每个客户端的请求。
- 使用`recv()`函数接收客户端发送的消息,并通过`sendall()`将消息回复给相应的客户端。
2. **客户端**:
- 连接到服务器的IP地址和端口号。
- 发送用户名等初始化信息。
- 可以使用循环不断接收服务器的消息,并在控制台显示。
- 用户输入的消息会被打包后发送到服务器。
```python
import socket
# 服务器端示例
def server():
host = 'localhost'
port = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen()
while True:
client, addr = s.accept()
print(f"连接来自 {addr[0]}:{addr[1]}")
client_handler(client)
# 客户端示例
def client_handler(client):
username = input("请输入用户名:")
# 发送用户名
client.send(username.encode())
while True:
msg = client.recv(1024).decode()
if not msg:
break
print(f"{username}说:{msg}")
server() # 启动服务器
```