在我的android应用程序中,我想使用autobahn库来使用websockets。
我认为服务器正在使用草案-17。有人能告诉我,如何设置客户端来使用这个协议吗?
我有这样的代码:
mConnection.connect(url,new String[] {"protocolname?"}, new WebSocketHandler() {
//some functions
},options);问候
在我的服务器上使用更新,在8.1版中使用Jetty。
UPDATE 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发布于 2014-01-15 17:53:11
您指的是WebSocket协议版本还是WebSocket子协议?
对于前者: AutobahnAndroid实现了RFC6455 (最后也是最后一个WebSocket协议版本)。没有办法降级到旧版本,但基本上,没有重大的变化,从Hybi-10+到RFC6455。
关于后者: WebSocket子协议是在打开WebSocket连接时指定的,比如这。
https://stackoverflow.com/questions/21143934
复制相似问题