高速公路异常WebSockets协议违规

时间:2014-01-15 17:13:45

标签: android websocket jetty autobahn

在我的Android应用程序中,我想使用autobahn库来使用websockets。

我认为服务器正在使用draft-17。 有人能告诉我,如何设置客户端使用此协议?

我有这段代码:

      mConnection.connect(url,new String[] {"protocolname?"}, new WebSocketHandler() {

         //some functions
      },options);

问候

更新 在我的服务器上,我在版本8.1中使用Jetty。

更新 LogCat的输出是:

01-15 22:54:53.481: D/de.tavendo.autobahn.WebSocketReader(32452): created
01-15 22:54:53.491: D/de.tavendo.autobahn.WebSocketConnection(32452): WS reader created     and started
01-15 22:54:53.491: D/de.tavendo.autobahn.WebSocketReader(32452): running
01-15 22:54:53.491: D/de.tavendo.autobahn.WebSocketWriter(32452): created
01-15 22:54:53.491: D/de.tavendo.autobahn.WebSocketConnection(32452): WS writer created and started
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketConnection(32452): opening handshake received
01-15 22:54:53.551: D/Websocket(32452): Status: Connected to ws://192.168.178.30:8080
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketReader(32452): run() : WebSocketException (de.tavendo.autobahn.WebSocketException: RSV != 0 and no extension negotiated)
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketReader(32452): ended
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketConnection(32452): fail connection [code = 4, reason = WebSockets protocol violation
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketReader(32452): quit
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketWriter(32452): ended
01-15 22:54:53.551: D/Websocket(32452): Connection lost.
01-15 22:54:53.551: D/de.tavendo.autobahn.WebSocketConnection(32452): worker threads stopped

1 个答案:

答案 0 :(得分:1)

您指的是WebSocket协议版本还是WebSocket子协议?

关于前者:AutobahnAndroid实现RFC6455(最后和最终的WebSocket协议版本)。没有办法降级到旧版本,但基本上,从Hybi-10 +到RFC6455没有发生重大变化。

关于后者:在打开像this这样的WebSocket连接时指定了WebSocket子协议。