iOS WebSocket教程

作者: CaryZheng | 来源:发表于2018-04-10 15:24 被阅读71次

Swift国内社区: SwiftMic


Swift版本: 4.1

简介

通过 WebSocket 可以实现保持长连接。

WebSocket第三方库

Starscream

开始

编辑 Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target 'Your target' do
    pod 'Starscream'
end

执行 pod install

创建 WebSocket 对象

mWebSocket = WebSocket(url: URL(string: "ws://localhost:8080/")!)

设置委托对象

mWebSocket.delegate = self

这里需要实现 WebSocketDelegate 协议

/// 连接成功后的回调
func websocketDidConnect(socket: WebSocketClient) {
    print("websocketDidConnect")
}

/// 断开连接后的回调    
func websocketDidDisconnect(socket: WebSocketClient, error: Error?) {
    print("websocketDidDisconnect, error = \(String(describing: error))")
}

/// 接收到消息后的回调(String)    
func websocketDidReceiveMessage(socket: WebSocketClient, text: String) {
    print("websocketDidReceiveMessage, text = \(text)")
        
    if text.contains("Hello Client") {
        // 发送消息
        mWebSocket.write(string: "Send msg from iOS Client by Cary")
    }
 }

/// 接收到消息后的回调(Data)    
func websocketDidReceiveData(socket: WebSocketClient, data: Data) {
    print("websocketDidReceiveData")
}

接下来进行 connect 操作

mWebSocket.connect()

断开连接操作

if mWebSocket.isConnected {
    mWebSocket.disconnect()
}

WebSocket Server

Starscream 自带了个 Server 端的WebSocket示例,地址是 https://github.com/daltoniam/Starscream/tree/master/examples/SimpleTest

按照对应的 README.md 操作即可。

Demo源码

https://github.com/CaryZheng/iOSTutorials

相关文章

  • iOS WebSocket教程

    Swift国内社区: SwiftMic Swift版本: 4.1 简介 通过 WebSocket 可以实现保持长连...

  • WebSocket

    WebSocket Introduction WebSocket general:阮一峰的WebSocket 教程...

  • websocket及server环境配置

    看完让你彻底搞懂Websocket原理 WebSocket 教程 WebSocket 是 HTML5 开始提供的一...

  • Angular Websocket教程

    Angular Websocket教程 在本教程中,我们将介绍如何实现一个非常简单的基于WebSocket的Ang...

  • 关于websocket

    转载自WebSocket,侵删 WebSocket 教程 作者: 阮一峰 WebSocket 是一种网络通信协议,...

  • 一篇文章让你学习使用websocket

    学习教程 跟着下面两篇教程的任意一篇写一遍,WebSocket基本上就算掌握了。 Using WebSocket ...

  • WebSocket 教程

    概述 WebSocket 是什么? WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。 ...

  • WebSocket教程

    WebSocket 提出正确的问题,往往等于解决了问题的大半。——海森堡 百科定义  WebSocket协议是基于...

  • WebSocket 教程

    WebSocket 教程[http://www.ruanyifeng.com/blog/2017/05/webso...

  • 什么是WebSocket

    维基百科定义维基百科-WebSocket 阮一峰教程-WebSocketWebSokcet教程-阮一峰 Webso...

网友评论

    本文标题:iOS WebSocket教程

    本文链接:https://www.haomeiwen.com/subject/lgcnhftx.html