程式功能: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);
補充:服務端是別人的程式,沒法進行改動。
這種情況怎么解決,謝謝!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/78950.html
標籤:Web 開發
