web-services - 如何创建简单的 okhttp3 websocket 连接?

标签 web-services websocket okhttp3

有人可以向我展示一个示例,说明如何使用 okhttp3 okhttp-ws 库建立与具有特定授权 header 的 wss://地址的连接吗?

我所拥有的只是 WS 服务器的 url 和授权字符串 token 。

稍后,我必须能够向该连接发送请求,监听来自 WS 服务器的即将到来的数据,然后关闭连接。我对这个新的 WS 世界有困难,一直只使用 REST(也使用 okhttp3)

最佳答案

所以通常这个样本是你需要的大部分

https://github.com/square/okhttp/blob/d854e6d5ad93da4da9b5d5818ee752477e501b18/samples/guide/src/main/java/okhttp3/recipes/WebSocketEcho.java

但是你会有两个变化

  • 在您的 URL 中使用 wss 而不是 ws
  • 调用 request.addHeader 添加您的 token

    request.addHeader("Authorization", "Bearer "+ token)
  • 关于web-services - 如何创建简单的 okhttp3 websocket 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416209/

    相关文章:

    .net - 如何获取消息契约(Contract)以在正文而不是 header 中发送 SOAP 操作

    c# - Visual Studio 使用 Runtime.Serialization 生成我的服务引用之一,但其他使用 ServiceModel 生成

    websocket - 使用 Web 套接字将媒体流式传输到服务器

    rx-java - RxJava2/Retrofit2 - 处理 204 个 PUT 和 DELETE 请求的空值

    java - Tomcat 设置问题

    sql-server - SQL Server 上的 WSDL 给出 HTTP 状态 505 版本不受支持

    javascript - 如何维护页面之间的 WebSockets 连接?

    javascript - 如何清除 websocket 上的缓冲区?

    networking - Kotlin 中的 Okhttp3,String.mediaType() 不起作用