我想连接到一个开放的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谷歌,这很有效,所以我真的不知道是什么原因引起的。谢谢你的帮助!
答案 0 :(得分:0)
因此,出于某种原因,你必须像这样使用Draft_17:
val client = Client(URI("ws://192.168.56.1:4567/chat/"), Draft_17())
这没有详细记录。