Java / Android websocket无法连接到Spark websocket服务,但JavaScript可以
我想连接到一个打开的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 [...]
我试图平谷歌和工作,所以我真的不知道是什么原因造成的。 感谢您的任何帮助!
所以出于某种原因,你必须像这样使用Draft_17:
val client = Client(URI("ws://192.168.56.1:4567/chat/"), Draft_17())
这没有很好的记录。