使用PyQt4和twisted写的局域网聊天室(1)

最近学习Python,尝试实现一个简单的局域网聊天室,支持P2P聊天,使用PyQt4编写界面,网络采用twisted,主要仿照swan-talk:(http://code.google.com/p/swan-talk
)编写。

Msg消息格式如下:

  • 收取信息MsgRcv,发送信息MsgSnd。

    • 用户登入:聊天显示“XX进入房间。”
      消息格式:LOGIN + userName + password + statusMessage
    • 用户登出:聊天显示“XX离开房间。”
      消息格式:LOGOUT + userName
    • 公共聊天:聊天显示“XX >> content。”
      消息格式:COMMONCHAT + userName + content
    • 开始私人聊天:
      消息格式:NEWPRIVATE + userName + recipient
    • 私有聊天:聊天显示“XX->XX >> content。”
      消息格式:PRIVATECHAT + userName + recipient + content
    • 用户名已存在:聊天显示“XX用户已存在,请修改用户名称。”
      消息格式:USEREXISTED + userName + content
    • 新用户接收老用户状态信息
      消息格式:USERLIST + userName + statusMessage
    • 老用户同时接收新用户状态信息
      消息格式:NEWUSER + userName + statusMessage

目前用户密码和状态信息尚未添加,但基本的聊天实现已经没有问题。

其中公共模块为qt4reactor.py,来自网站:(http://sourcecodebrowser.com/openvswitch/1.1.0~pre2.g2.ea763e0e/qt4reactor_8py_source.html)
服务端包括qt4guiServer.py、qt4reactor.py、server.py。
客户端包括qt4guiClient.py、qt4guiPTalk.py、qt4reactor.py、client.py。

posted @ 2014-11-02 10:25  WeiJY  阅读(1128)  评论(0编辑  收藏  举报