网络多人聊天室
文件结构:
chatroom
├── client.py # 客户端代码
├── language.py # 语言文件
├── server.py # 服务端代码
└── settings.py # 设置文件
0 directories, 4 files
使用模块:
- os
- sys
- socket
- select
思路:
Python资源共享群:484031800
- settings.py,定义HOST、PORT、ADDR、buffersize、language、curuser等变量。
- server.py,服务器代码,使用select模块select方法实现IO多路复用监听sys.stdin输入以及客户端连接,实现与客户端通信,将从客户端接收到的信息群发给每个客户端。
- client.py,客户端代码,同样使用IO多路复用同时监听客户端接收信息以及sys.stdin输入信息,实现与服务端的通信,间接实现与其他客户端的群聊。
- language.py,语言文件,支持中文以及英语。
代码:
settings.py
# settings.py HOST = '0.0.0.0' # 主机名 PORT = 5555 # 端口号 buffersize = 1024 # 缓冲大小 ADDR = HOST, PORT # 地址 languages = ['cn', 'en'] # 'cn' -> 中文 language = 'cn' # 'en' -> 英文 curuser = '' # 当前用户
language.py
# language.py from settings import language if language == 'en': administrator = 'Administrator' txt_administrator_close_chatroom = 'Chatroom closed by Administrator.' txt_uesr_enter_chatroom = 'entered the chatroom.' txt_user_quit_chatroom = 'quited the chatroom.' txt_username = 'username> ' txt_user_already_exists