Java/Android websocket无法连接到Spark websocket服务,但JavaScript可以
我想连接到开放式Spark websocket服务器。对我来说,这个服务器位于ws://192.168.56.1:4567/chat/。当我尝试使用计算机上运行的JavaScript连接到它时,它可以工作:Java/Android websocket无法连接到Spark websocket服务,但JavaScript可以,java,android,websocket,java-websocket,Java,Android,Websocket,Java Websocket,我想连接到开放式Spark websocket服务器。对我来说,这个服务器位于ws://192.168.56.1:4567/chat/。当我尝试使用计算机上运行的JavaScript连接到它时,它可以工作: var websocket = new WebSocket("ws://192.168.56.1:4567/chat/"); 此代码成功连接到websocket。在使用java websocket的Android上,此代码段如下所示: val client = Client(URI("ws
var websocket = new WebSocket("ws://192.168.56.1:4567/chat/");
此代码成功连接到websocket。在使用java websocket的Android上,此代码段如下所示:
val client = Client(URI("ws://192.168.56.1:4567/chat/"))
val client = Client(URI("ws://192.168.56.1:4567/chat/"), Draft_17())
我使用Kotlin,等效的Java代码是
Client client = new Client(new URI("ws://192.168.56.1:4567/chat/"));
其中Client是扩展WebSocketClient的类。当我尝试连接到websocket时,它根本不起作用,并且超时,就好像这个websocket根本不存在一样。我的清单文件中确实启用了INTERNET:
<uses-permission android:name="android.permission.INTERNET" />
<application
[...]
因此,出于某种原因,您必须像这样使用草案_17:
val client = Client(URI("ws://192.168.56.1:4567/chat/"))
val client = Client(URI("ws://192.168.56.1:4567/chat/"), Draft_17())
这没有很好的文档记录。因此出于某种原因,您必须像这样使用草案17:
val client = Client(URI("ws://192.168.56.1:4567/chat/"))
val client = Client(URI("ws://192.168.56.1:4567/chat/"), Draft_17())
这没有很好的记录