最近在用SignalR,服務端已經寫好(老鐵,沒毛病,很穩),然后有坑的是我還得寫App端,那就擼吧,java也不是什么很難的東西。奈何坑多(已經踩了一波android的控件bug),這次遇到了MS的java-client的bug,操蛋的,websocket的協議居然沒有用ws開頭的協議,connecion.getURL()去到的是http開頭的(我居然一開始以為他會做處理),導致一直錯誤。然后就是使用的websocket的jar需要主要,版本不要太低,太低也會報錯,close的1006狀態碼(這開源的庫真是日了穿山甲了),代碼具體詳細如下。
1.MS的代碼
https://github.com/SignalR/java-client/blob/master/signalr-client-sdk/src/main/java/microsoft/aspnet/signalr/client/transport/WebsocketTransport.java
2.另外在Github上找到的(其實沒有找到之前我也已經改了。。。。都他媽是累,淚)
https://github.com/Donky-Network/DonkySDK-Android-Modular/blob/5f8345bf82eb9a785eda2d7a4c42850419ea37f8/src/Donky/signalr-client-sdk/src/main/java/donky/microsoft/aspnet/signalr/client/transport/WebsocketTransport.java