用多线程编写多人聊天程序基本原理分析

#########################################################################################
用多线程编写多人聊天程序基本原理分析 - arthinking - peng_zhanxuan的博客
 
 
 
  服务器端分析如图: 

首先服务器端创建ServerSocket对象,等待客户连接。

每当有一个客户连接上时,使用一个线程保存其Socket,把该线程保存在一个HashMap集合中。

客户端有信息发送给服务器时,服务器先获取要接收者用户名,根据用户名获取保存的线程(如果没有找到该线程则回发给发送者消息提示其需要联系的用户未上线),再根据该线程创建输出流,把消息转发给接收者。

 

 

 

######################################################################################

用多线程编写多人聊天程序基本原理分析 - arthinking - peng_zhanxuan的博客
 
 
 
客户端分析如图: 

每当有客户登录连接服务器时,把获取的Socket保存在自己的线程类中,客户端根据聊天者的用户名随意打开聊天窗口,把聊天窗口保存在HashMap中,key值可以使用对方用户名;当客户端接收到从服务器发来的消息时根据发送者用户名从集合中获取相应的聊天窗口,把消息显示在该聊天窗口中。

 

  

 

发布了14 篇原创文章 · 获赞 1 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/peng_zhanxuan/article/details/6034088
今日推荐