如何解决android高速公路中的webSockets协议违规问题

时间:2016-08-22 06:23:34

标签: android websocket publish-subscribe autobahn

在我的 android 应用程序中,我想使用高速公路库来使用 websockets 。 我使用spring完成了服务器端代码。 当我尝试pub sub时,简单套接字正在工作,然后我收到错误。

我的代码: -

final String wsuri = "ws://localhost:8080/ws";
try {
    mConnection.connect(wsuri, new Wamp.ConnectionHandler() 
        @Override
        public void onOpen() {
            Log.d(TAG, "Status: Connected to " + wsuri);
            mConnection.subscribe("ws://localhost8080/ws/onetoone",
                MyEvent1.class, new Wamp.EventHandler() {
                    @Override
                    public void onEvent(String topicUri, Object event) {
                        Log.d(TAG, "Status: Connected to " + event);
                    }
                });
    }
    @Override
    public void onClose(int code, String reason) {
        Log.d(TAG, "Connection lost." + " " + reason);
    }
 });
} catch (Exception e) {
        Log.d(TAG, e.toString());
}

OutOut: -

  

de.tavendo.autobahn.WebSocketConnection:已创建       de.tavendo.autobahn.WebSocketReader:已创建       de.tavendo.autobahn.WampReader:已创建       de.tavendo.autobahn.WampConnection:读者创建并启动       de.tavendo.autobahn.WebSocketWriter:已创建       de.tavendo.autobahn.WampWriter:已创建       de.tavendo.autobahn.WampConnection:编写创建并启动       de.tavendo.autobahn.WebSocketReader:正在运行       de.tavendo.autobahn.WebSocketReader:run():WebSocketException       (de.tavendo.autobahn.WebSocketException:RSV!= 0且没有协商扩展)       de.tavendo.autobahn.WebSocketReader:结束了       de.tavendo.autobahn.WebSocketConnection:收到开放握手       状态:已连接到ws:// localhost:8080 / Spring4WebSocket / add       de.tavendo.autobahn.WebSocketConnection:失败连接[code = 4,reason = WebSockets协议违规       de.tavendo.autobahn.WebSocketReader:退出       de.tavendo.autobahn.WebSocketConnection:等待读者完成       de.tavendo.autobahn.WebSocketConnection:readr线程完成       de.tavendo.autobahn.WebSocketConnection:通过套接字发送关闭消息       de.tavendo.autobahn.WebSocketWriter:结束了       de.tavendo.autobahn.WebSocketConnection:等待作家完成       de.tavendo.autobahn.WebSocketConnection:编写器线程完成       连接丢失了。 WebSockets协议违规

我在本地主机(我的PC IP地址)上传递了ip地址。

任何有解决方案如何解决android高速公路中的Web套接字协议违规。

请帮助解决上述问题。

1 个答案:

答案 0 :(得分:0)

错误消息:

RSV != 0 and no extension negotiated

表示WebSocket客户端从WebSocket服务器收到的WebSocket框架的一个或多个保留位不为0.如果没有协商WebSocket扩展(在WebSocket opening handshake期间),则错误消息声明,保留位应全为零。

检查WebSocket服务器的端点是否正确地说出了WebSocket协议。