Tag: Starscream

使用Swift的iOS中的Websocket

WebSocket允许极其快速的双向网络通信,这使您可以更快,更频繁地发送和接收更新,更不用说安全了。 WebSocket是一种使用套接字的通信协议,可通过单个TCP连接提供双工通信。 它由IETF于2011年标准化,是与HTTP不同的协议。 WebSockets广泛用于聊天应用程序,流实时通知和股票价格中。 Websocket生命周期 与服务器握手 握手应用程序是WebSockets中的Web部件。 这是从HTTP到WebSocket的桥梁。 客户端向服务器发送一个非常标准的HTTP GET请求: GET / chat HTTP / 1.1 主持人:example.com:8000 升级:websocket 连接:升级 Sec-WebSocket-密钥:dGhlIHNhbXBsZSBub25jZQ == 安全WebSocket版本:1 这里最有趣的是`Sec-WebSocket-Key`,出于安全原因,它是根据WebSocket标准生成的。 服务器验证请求,如果一切正常,则发送回HTTP响应: HTTP / 1.1 101交换协议 升级:websocket 连接:升级 Sec-WebSocket-接受:s3pPLMBiTxaQ9kYGzzhZRbK + xOo = 交流信息 服务器或客户端可以随时发送遵循以下特定格式的数据: 我不会详细介绍每个部分,但是您可以在标准中找到更多信息。 乒乓球 客户端或服务器在任何时候都可以发送ping,而另一方必须发送回pong。 闭幕 任何一方都可以通过发送指定的控制序列来关闭连接。 在iOS中实现WebSockets 在iOS,macOS,tvOS或watchOS中实现WebSocket并非易事。 新的Network.framework可以简化此操作,但是您仍然需要处理基础任务,例如升级连接和设置WebSocket框架。 红蜘蛛 Swift WebSocket客户端库Startscream简化了所有繁重的任务。 安装该库并将其导入任何Swift文件中。 进口红蜘蛛 建立连接 之后,创建一个连接并设置委托。 套接字= WebSocket(URL:URL(字符串:“ ws:echo.websocket.org”)!) socket.delegate […]