在我的 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套接字协议违规。
请帮助解决上述问题。
答案 0 :(得分:0)
错误消息:
RSV != 0 and no extension negotiated
表示WebSocket客户端从WebSocket服务器收到的WebSocket框架的一个或多个保留位不为0.如果没有协商WebSocket扩展(在WebSocket opening handshake期间),则错误消息声明,保留位应全为零。
检查WebSocket服务器的端点是否正确地说出了WebSocket协议。