网络通信项目总结之二

      前面我们实现了简单的网络通信服务端。当然,那个是最简单的版本,还有很多需要改进的地方。比如服务器一连接一个客户机就退出,我们就可以将ServerSocket的accept()方法放在一个循环中调用:进入一个客户机,当服务器与这个客户机通信完毕后,服务器就再次进入循环中,重新调用accept()方法等待下一个客户机连接进入。再比如一次只能有一个客户机去连接,不然就会出错。解决方法是把进入服务器的每一个连接对象(Socket)交给一个线程对象去处理,这样随后而来的连接就不用等待前面的连接被处理完毕了。

      接下来,我们要把服务端加以完善,实现能验证客户机用户名密码并登录。实现群聊和私聊的功能。此外,我们还要给服务端加上图形化界面,这样,简单的服务器就可以运作了。

      然后我们要写的是客户端。客户端需要两界面,一个是登录界面,一个是登录后的聊天界面。客户机连接服务器主要考虑的就是相互之间读取信息的方法。一开始,我们用的是简单的读取字节流的方法。之后,在学习了XMPP通信之后,用了自定义的通信协议来实现各种消息的收发。之后我们还加了文件传送,远程监控等功能,实现上都差不多,不管文件传送还是图片传送,本质上都是字节流的传送。这样就实现了一个简单的网络通信软件。

猜你喜欢

转载自826133649-qq-com.iteye.com/blog/1139538