公司网络通信系统源码+毕业论文
聊天系统主要关注两个方面,即服务器端和客户端。下面分析这两个方面所要完成的任务如下。 1.服务器端的任务: 服务器端应当建立一个Server Socket,并且不断进行侦听是否有客户端连接或者断开连接。服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。 以上就是服务器端最主要的两个任务。不难看出,服务器端的任务并不复杂。 2.客户端的任务: 客户端应该完成的工作包括:与服务器端建立通信通道,向服务器端发送信息;接收来自服务器的信息。相对服务器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。 客户端和服务器必须保持随时随地的连接。这有别于普通Web浏览的连接方式,在使用浏览器访问服务器时,先由客户端发出HTTP协议,然后服务器响应处理这个客户端的响应,再返回处理结果,请求(Request)和响应(Response)是一种一对一的前后因果关系。而在基于Socket的聊天系统中,客户端发出聊天信息的同时,客户端也在接受服务器发送过来的其他人的聊天信息。因此,请求和响应不存在那种前后对应关系,是两种分别独立进行的进程。因为服务器任何时候都可能发送信息到客户端。因此,客户端和服务器一旦建立连接,必须能让服务器在以后发送中寻找定位到这个连接。 在速度性能方面,聊天系统提出了更高的要求。在网络连接的薄弱环节I/O通信方面,要求能够实现无堵塞地、流畅地数据读写。在面对几百个甚至更多的客户端同时发出连接信息的情况下,服务器要求能够保持高性能的并发处理机制,迅速地完成这几百个并发请求的处理和发送任务。 在扩展性和伸缩性方面,聊天系统也提出了一定的要求。当一台服务器不能满足要求时,必须在客户端不知晓的情况下,通过不断增加服务器就能方便地拓展聊天系统的整体处理能力。对于客户端用户来说,这些服务器群都象征一个统一的服务器,不需要他们在进入聊天室之前先选择具体的服务器,也没有单个聊天室最大人数的限制,如果可以,服务器群可以支撑一个巨大容量的聊天室。
下载地址
用户评论
不错虽然是java的,但原理上面相同