小弟最近在学习 swift 服务端框架 vapor4.0,想开发个简单的 app,在 websocket client 遇到了问题。话说这里的文档真是一言难尽。。
在连接到服务器时,官方给的 demo URL 能够正常连接,但是当我换成别的 URL 的时候总是报连接超时错误。
connectTimeout(NIO.TimeAmount(nanoseconds: 10000000000))
Google 搜索好几天也没解决,github 上的 issue 也没看到类似的问题。
源码:
import Vapor // configures your application public func configure(_ app: Application) throws { try webs(app) try routes(app) } private func webs(_ app: Application) throws { // 相关文档 https://docs.vapor.codes/4.0/websockets/ // let url = "ws://echo.websocket.org" //此 url 正常接收 let url = "wss://fstream.binance.com/stream?streams=btcusdt@aggTrade/btcusdt@kline_15m/btcusdt@bookTicker/" //此 URL 总是报超时 WebSocket.connect(to: url, on: app.eventLoopGroup) { (ws) in print("CONNECTED!") ws.onText { _, text in print("Received text: \(text)") } ws.onBinary { _, bin in print("Received binary message: \(bin)") } ws.send("Sup!") ws.send([1,2,3,4,5]) }.flatMapErrorThrowing { (error) in debugPrint("error=\(error)") } }
项目源码: https://wenjian.xuanyuanhuangdi.org/websocket.zip
相关文档: https://docs.vapor.codes/4.0/websockets/
希望大佬指教!也可以红包求助,万分感激。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.