调试遇到的问题不多,主要还是涉及到的一些指针问题,最主要的就是在构造函数中对指针成员的初始化问题,如果提供了自定义的构造函数,就容易忘记默认构造函数的初始化,以为默认构造函数自己不去掉用就不会有效,给调试带来了一些麻烦。
客户端整体来说不难,只要理清楚了哪些类负责完成什么任务,需要维护一些什么数据,就好办了。
这里的主对话框类主要负责维护界面,和服务器交互,以及在必要条件下创建聊天窗口(如有离线消息,有用户连接请求,用户主动聊天等)。
而聊天对话框则只负责和指定用户进行数据交互,需要维护两边用户信息以及一个聊天套接字。在收到或发送消息时,它还需要维护自身聊天窗口的更新。由于CSocket内置多线程 所以整个工程都并未涉及到多线程。适用于少量用户的局域网
至于其他一些小功能,如保存聊天记录(客户端),保存用户信息(服务器),以及最小化时生成托盘图标等等。都与主要逻辑无关,都可以随时单独地加上即可。
本实例缺点很多