socket消息推送对应用户问题

fangsky 2020-05-05 01:31:32
程序功能:web端通过socket tcp与服务端保持通讯,获取服务端返回的信息。
信息分为两部分(1、服务端主动推送的数据 2、web端请求的数据)
目前多个用户同时在线的情况下,服务端主动推送的数据每个用户都能收到。但是请求的数据遇到问题,求助。
1、服务端主动推送的数据--正常
A用户:web前端登录(IP,PORT,用户名,密码)--后台(接收服务端push的数据,发给前端)《----》服务端(主动推送数据)
B用户:web前端登录(IP,PORT,用户名,密码)--后台(接收服务端push的数据,发给前端)《----》服务端(主动推送数据)
C用户:web前端登录(IP,PORT,用户名,密码)--后台(接收服务端push的数据,发给前端)《----》服务端(主动推送数据)
不同的用户不同的端口。 socket = new Socket(host, port);
2、web端请求的数据-有问题
所有用户都已经登录的前提下,登录时间A,B,C
A用户:web前端(数据请求)--后台(发送请求包给服务端,等待服务端返回的数据)《----》服务端(推送数据)
B用户:web前端(数据请求)--后台(发送请求包给服务端,等待服务端返回的数据)《----》服务端(推送数据)
C用户:web前端(数据请求)--后台(发送请求包给服务端,等待服务端返回的数据)《----》服务端(推送数据)

比如B用户发送了数据请求,然后服务端也能发回数据,但是发现B用户没有接到数据,而是C用户接到了。
通过在idea里查看发现socket信息是C用户的。 A用户测试也是这个情况。感觉应该是socket都在调用最后登录的C用户的。
System.out.println("socket信息查看:"+socket);

补充:服务端是别人的程序,没法进行改动。

这种情况怎么解决,谢谢!!
...全文
47 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧