之前做乙個專案需要手機與內網機器通訊
由於手機端由h5完成,所以採用websocket的方式
在電腦上除錯時一切正常
用手機訪問時卻在握手時中斷連線,握手不成功
後來研究了一下握手協議
如下("http/1.1 101 switching protocols\r\n");
("upgrade: websocket\r\n");
("connection: upgrade\r\n");
("server:beetle websocket server\r\n");
("access-control-allow-credentials:true\r\n");
("accept-encoding: gzip, deflate, sdch\r\n");
("accept-language: zh-cn,zh;q=0.8\r\n");
("access-control-allow-headers:content-type\r\n");
("sec-websocket-accept:" + key + "\r\n");
在這裡也沒有發現問題...
為了實現乙個猜測,在最後一條加了乙個\r
最後變成
("sec-websocket-accept:" + key + "\r\n\r");
然後就握手成功,通訊ok
問題到這裡就解決了。。。。 個人猜測可能是手機端相容上的問題。 既然要求在最後一定要加\r\n,那也許是手機端還需要有乙個結束標識?
Autobahn實現WebSocket通訊
最近開發中需要通過ws協議通訊,於是做了些功課,現在websocket用的比較多的就是autobahn,由於使用方便所以選擇了它。然後就是使用websocketconnection這個類,使用方法直接上 吧mconnect.connect wsurl,new websockethandler ove...
webSocket無法注入bean問題解決方案
component serverendpoint value messagesocket public class messagewebsocket onopen public void onopen session session,pathparam userid integer userid o...
websocket客戶端的實現
coding utf 8 importwebsocket 第三方核心庫 fromthreadingimportthread importstruct fromctypesimport importmultiprocessing importos 服務端傳送訊息 defon message ws,me...