要用java做个C/S模式的多客户端的小程序,求问怎么在服务器端实现消息的转发? 10

使用多线程的话,怎么确定每个线程和客户端的对应关系,怎么实现消息转发到指定的客户端呢?谢谢!... 使用多线程的话,怎么确定每个线程和客户端的对应关系,怎么实现消息转发到指定的客户端呢?
谢谢!
展开
 我来答
帐号已注销
2013-07-31 · TA获得超过122个赞
知道答主
回答量:106
采纳率:0%
帮助的人:83.2万
展开全部
方法一: 客户端需要登录 用户发送的消息 后台自动在最前面加上#要接收消息的用户的名字# 在后台解析
方法二: 每个用户(线程)在产生的时候 多产生一个随机数(可以用synchronized new Date().getTime()),叫做ThreadId 然后制作一个线程的Map,key是ThreadId,value是该Thread
追问
线程里面每个CS连接是对应一个socket,服务器端怎么把从一个socket中接收的消息,转发给另一个socket呢,识别是一个问题,实现转发也是个问题。
s136357491
2013-07-31 · TA获得超过223个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:147万
展开全部
首先客户端发送消息的时候,在消息前加入是发送给那个用户的,在服务器截取字符串,得到目的客户端,再转发消息
追问
线程里面每个CS连接是对应一个socket,服务器端怎么把从一个socket中接收的消息,转发给另一个socket呢,识别是一个问题,实现转发也是个问题。
追答
你可以封装一个 用户类,里面只是有用户名和对应的socket或者输入输出流,根据用户名,每当有心得用户连接时,你就创建一个用户类,加入到一个List中去,这样当你识别完之后,你就可以在该list中找到对用的用户,得到这个用户对应输入输出流。。。剩下的不用说了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式