StreamLabs 套接字 API 使用 Java

StreamLabs socket API using Java

我正在尝试使用 Java 连接到 streamLabs 套接字 API。 API url 是

https://sockets.streamlabs.com?token=<socketToken>

这不起作用,因为 Java 期望套接字是 ws://...。当我将其更改为“ws”格式时,它给出了连接超时。

我错过了什么吗?这实际上不是一个 websocket,如果不是,它是如何工作的?

这是他们文档的 link:https://streamlabs.readme.io/docs/socket-api

更多信息:我试过 org.asynchttpclient.ws.WebSocketjavax.websocket 都不起作用

使用 SocketIo 解决

<dependency>
     <groupId>io.socket</groupId>
     <artifactId>socket.io-client</artifactId>
     <version>1.0.0</version>
</dependency>

他们的套接字文档绝对缺乏,他们实际的 websocket url 你将连接到是 wss://sockets.streamlabs.com/socket.io/?token=<your_socket_api_token>&transport=websocket

此外,由于在任何地方都没有真正提到它,他们使用一个整数作为消息类型指示符,作为消息类型的指示符。

  • 0为init消息类型,包含心跳间隔和超时时间
  • 40 是您将要发送和接收的 ping 消息
  • 41 是使用无效令牌连接后您将收到的无效令牌消息
  • 42 将是您将收到的实际流实验室事件消息

至少这是我到目前为止收集到的信息。