要用java做个C/S模式的多客户端的小程序,求问怎么在服务器端实现消息的转发? 10
2个回答
展开全部
方法一: 客户端需要登录 用户发送的消息 后台自动在最前面加上#要接收消息的用户的名字# 在后台解析
方法二: 每个用户(线程)在产生的时候 多产生一个随机数(可以用synchronized new Date().getTime()),叫做ThreadId 然后制作一个线程的Map,key是ThreadId,value是该Thread
方法二: 每个用户(线程)在产生的时候 多产生一个随机数(可以用synchronized new Date().getTime()),叫做ThreadId 然后制作一个线程的Map,key是ThreadId,value是该Thread
追问
线程里面每个CS连接是对应一个socket,服务器端怎么把从一个socket中接收的消息,转发给另一个socket呢,识别是一个问题,实现转发也是个问题。
展开全部
首先客户端发送消息的时候,在消息前加入是发送给那个用户的,在服务器截取字符串,得到目的客户端,再转发消息
追问
线程里面每个CS连接是对应一个socket,服务器端怎么把从一个socket中接收的消息,转发给另一个socket呢,识别是一个问题,实现转发也是个问题。
追答
你可以封装一个 用户类,里面只是有用户名和对应的socket或者输入输出流,根据用户名,每当有心得用户连接时,你就创建一个用户类,加入到一个List中去,这样当你识别完之后,你就可以在该list中找到对用的用户,得到这个用户对应输入输出流。。。剩下的不用说了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询