连接到WebSocket时添加URI-Java客户端应用程序

时间:2018-10-03 08:49:54

标签: java android websocket uri autobahn

我正在尝试开发Java客户端以与服务器上启用的WebSocket连接。

在开始实施之前,我阅读了RFC 6455 - The WebSocket Protocol - IETF Tools docx。在section 11.1section 3中,定义如何创建URI以及URI的行为。

我的WSS URI和端口:wss://xxxxxx-xxxxxx.maindomain.com/websocket:9050

服务器配置为位于URI和端口上方,并且正在与Web客户端一起使用。但是问题出在Java客户端上。

我已经尝试过以下库:

  1. TakahikoKawasaki - nv-websocket-client
  2. crossbario - autobahn-java
  3. okhttp3 - WebSocket

已建立HTTP连接,并返回200。但是对于WebSocket连接,建立响应为101。然后我正在调试发生错误的位置。

在发送请求之前,请检查InetAddress.getByName(HOST_NAME)主机是否可用。此类InetAddressjava.net树中。所有Java客户端库都使用此InetAddress API进行该过程。

在我的情况下,URI是: wss://xxxxx-xxxxx.mainDomain.com/websocket

每个库仅获取请求的主机部分(xxxxx-xxxxx.mainDomain.com)。然后它将收到200,但不会收到101,因为如果收到完整的URI(xxxxx-xxxxx.mainDomain.com/websocket),WebSocket将建立连接。但是类InetAddress不允许这样做。

我的问题是,在定义WebSocket URI时,我们不能使用xxxxx-xxxxx.mainDomain.com/websocket之类的URI吗?我应该怎么做才能使它正常工作?

0 个答案:

没有答案