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

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

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

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

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

 

 

 

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

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

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

 

  

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值