最近在用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