简介
首先我们来看下一这个类似局域网QQ群聊的基本功能。登录的时候需要用户输入服务器的IP地址以及自己的用户名,这样你在一个群里面就可以看到每句话都是谁发的。还有一个比较重要的功能就是可以实时的看到在线好友列表,这个在线好友列表的存在大大(其实增加的程序也不是很多)的增加了整个程序的复杂度。如果只是消息的转发,这个太好做了。
资料
wxPython
一个完整的QQ群聊天室应该是有一个比较好看的GUI,所以本例中的GUI采用了比较好学的wxPython。wxPython是一个比较简单的GUI框架,在这里我给一个比较简单的wxPython的教程资料。同样这里面我也会给出我的源代码。
python的Socket编程
sokect编程算是python的知识了,这里面单独拿出来说主要是想说说select。一开始我是这样设计的在服务器端给一个连接进来的客户端一个线程去接收客户端发送的消息,但是这样会造成程序在退出的时候很多线程无法退出的问题。然后想了各种各样的办法,但是最后在网上看到一句话顿时让我醒悟————多线程会增加系统的不稳定性。所以我就果断放弃了socket的多线程编程转而使用了select技术。