前几天从网上Down了一个Java版的QQ的程序,看了一下觉得还行,里面有许多的东西还是可以学习的,对于C/S模式的编程来说,我主要从中看了以下四点:
一、服务器端线程管理机制,服务器是用ServerSocket来进行线程的连接的,并且根据用户的ID和线程来进行管理。
二、用户面板的管理机制,是一个HashMap,其主要的思想和上面一条是一致的
三、文件的发送机制,谁接收谁负责建立服务的连接,然后返回到Server一个Message,里面有建立连接的参数和消息的类型。
四、消息的发送机制,其实现机制不是点对点的连接,而是经过服务器中转的方式,这一点和飞信是不同的
五、没有一定的加解密机制,即消息的安全性不能得到保证。
小结:本程序的设计思路非常明朗,把界面、业务逻辑、业务关系等处理的比较得当,界面是用Swing来进行画的,显得有些繁琐,不过确实是一个学习网络编程、Swing界面设计、多线程编程的一个好的程序。
一、服务器端线程管理机制,服务器是用ServerSocket来进行线程的连接的,并且根据用户的ID和线程来进行管理。
二、用户面板的管理机制,是一个HashMap,其主要的思想和上面一条是一致的
三、文件的发送机制,谁接收谁负责建立服务的连接,然后返回到Server一个Message,里面有建立连接的参数和消息的类型。
四、消息的发送机制,其实现机制不是点对点的连接,而是经过服务器中转的方式,这一点和飞信是不同的
五、没有一定的加解密机制,即消息的安全性不能得到保证。
小结:本程序的设计思路非常明朗,把界面、业务逻辑、业务关系等处理的比较得当,界面是用Swing来进行画的,显得有些繁琐,不过确实是一个学习网络编程、Swing界面设计、多线程编程的一个好的程序。