Java / Android websocket无法连接到Spark websocket服务,但JavaScript可以

时间:2016-10-30 12:21:17

标签: 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://192.168.56.1:4567/chat/"))

我使用的是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
[...]

我试图ping谷歌,这很有效,所以我真的不知道是什么原因引起的。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

因此,出于某种原因,你必须像这样使用Draft_17:

val client = Client(URI("ws://192.168.56.1:4567/chat/"), Draft_17())

这没有详细记录。