资源简介
用Python自带socket库和tkinter开发的一个简单的聊天室实现。可以创建一个服务器,通过不同的计算机进行聊天。
代码片段和文件信息
import datetime
import json
from enum import Enum
class msgType(Enum):
no_action = 0
login = 1
logout = 2
enter_room = 3
leave_room = 4
send_message = 5
create_room = 6
login_ack = 7
logout_ack = 8
update_room_users = 9
leave_room_ack = 10
create_room_ack = 11
query_room_list = 12
query_room_list_ack = 13
enter_room_ack = 14
update_room_list = 15
tk_login_succeed = 100
tk_login_fail = 101
tk_update_room_list = 102
tk_create_room_ack = 103
tk_enter_room_ack = 104
tk_update_room_user_list = 105
tk_update_msg = 106
class chatRoom:
def __init__(self):
self.__roomname = ‘‘
self.__userList = []
@property
def name(self):
return self.__roomname
@property
def userlist(self):
return self.__userList
@name.setter
def name(self name):
self.__roomname = name
@userlist.setter
def userlist(self userlist):
self.__userList = userlist
def to_json(self):
json_data = {}
json_data[‘name‘] = self.__roomname
json_data[‘userlist‘] = self.__userList
return json.dumps(json_data)
def from_jsonstring(self json_string):
json_data = json.loads(json_string)
self.__roomname = json_data[‘name‘]
self.__userList = json_data[‘userlist‘]
class chatRoomList:
def __init__(self):
self.__roomList = []
@property
def roomlist(self):
return self.__roomList
@roomlist.setter
def roomlist(self roomlist):
self.__roomList = roomlist
def to_json(self):
return json.dumps(self.__roomList)
def from_jsonstring(self json_string):
self.__roomList = json.loads(json_string)
class chatMsg:
__datetime_format = ‘%Y-%m-%d %H:%M:%S‘
def __init__(self):
self.__msg_datetime = datetime.datetime.now()
self.__msg_content = ‘‘
self.__senderName = ‘‘
self.__receiverID = 0
self.__roomname = ‘‘
def to_json(self):
json_data = {}
json_data[‘datetime‘] = self.__msg_datetime.strftime(self.__datetime_format)
json_data[‘content‘] = self.__msg_content
json_data[‘receiver‘] = self.__receiverID
json_data[‘sender‘] = self.__senderName
json_data[‘room‘] = self.__roomname
return json.dumps(json_data)
def from_jsonstring(self json_string):
json_data = json.loads(json_string)
self.__msg_datetime = datetime.datetime.strptime(json_data[‘datetime‘] self.__datetime_format)
self.__msg_content = json_data[‘content‘]
self.__receiverID = json_data[‘receiver‘]
self.__senderName = json_data[‘sender‘]
self.__roomname = json_data
- 上一篇:Flask-login
- 下一篇:python实现的ping工具
相关资源
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论