[英]socket.io io.sockets.adapter.rooms[room] in 3G not working
我在socket.io開發中遇到了一個非常奇怪的問題。
一切正常(從服務器發出/從服務器發出),除了服務器通過3G連接執行以下操作之外:
console.log( io.sockets.adapter.rooms['thisroom'] )
該行幾乎每次都返回typeof'undefined',好像在給定的“ thisroom”房間中沒有插座連接時,實際上卻有插座連接到該房間。
如果在相同的情況下通過相同的套接字從WIFI連接執行相同的代碼,則上面的行將返回如下內容:
會議室{插槽:{'/#wEkHFuAhbCEf1Dw2AAAC':true},長度:1}
哪個是對的。
我已經嘗試了以下所有方法:
嘗試過socket.io版本1.3.7
嘗試過socket.io版本1.4.8
試圖連接
var socket = io.connect("http://<ip>:8081");
試圖強制使用以下方式進行websocket傳輸:
var socket = io.connect("http://<ip>:8081", {transports: ['websocket']});
嘗試使用兩種傳輸方式:
var socket = io.connect("http://<ip>:8081", {transports: ['websocket', 'polling']});
沒事。
確實很奇怪,因為有時3G連接在重新啟動應用程序時會按預期工作。 但是在大多數情況下,它確實有效。
有想法嗎?
我只是設法通過使用帶有SSL的安全連接來使其工作。 在SSL下,io.sockets.adapter.rooms ['thisroom']每次在任何3G連接中均可使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.