swift 实现websocket与后台通信(swift 如何构建简单的json字符串)

前端之家收集整理的这篇文章主要介绍了swift 实现websocket与后台通信(swift 如何构建简单的json字符串)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

swift 语言在国内流传度不是很广,初学者者想找相关资料很困难,想去国外找资料又被墙了,本人才疏学浅,记录下一些学习过程中的经验,希望看完对你也有所帮助!

一个应用不可避免要与服务器进行通信,主要有,http 与 socket。(相关概念请自行google)

http暂时不论,我们先看看socket下面衍生的websocket,今天我就把自己怎么利用websocket与服务器进行交互记录下来:

首先你需要集成websocket到自己的项目,如果不明白如何集成,请看上一篇swift集成websocket库

集成websocket 到自己项目后还需要添加SwiftyJSON到自己项目,具体步骤和集成websocket一样。

添加好类库后我们就可以开始写代码了!

首先打开你项目,记得通过cocoapods生成的.xcworkspace文件打开项目。你会看到图上所示的项目结构,在Pods里面有我们添加进来的2个库,如果没有请参考上一篇博客重新添加。(项目千万不要有中文,否则添加库后会有乱码)

上一步没有问题后,楼主考虑到保证websocket的唯一性,采用了单例的模式,申明我的websocket

import UIKit
import Starscream


class SingletonSocket {
    
    let socket:WebSocket = WebSocket(url: NSURL(string: "后台服务器的地址")!)
    
    class var sharedInstance : SingletonSocket{
        struct Static{
            static let instance:SingletonSocket = SingletonSocket()
        }
        if !Static.instance.socket.isConnected{
            Static.instance.socket.connect()
        }
        return Static.instance
    }
}

在你使用的类里面一般是viewcotroller里面,要记得先实现

WebSocketDelegate 这个接口

接口必须实现的函数,不实现会报错

在viewDidLoad里面设置websocket的回调为在这个类实现的delegate,这样就能接收到服务器给我们返回的数据



接下来构建我们的请求参数,构建好后再用socket对象的writeString()发送给服务器



然后我们在回调函数里面打印一下服务器返回的数据


当然实际开发中我们不会仅仅打印数据,你可以根据你的业务逻辑在这里添加你自己的处理


最终实现后println打印出来的数据


这样一个基本的使用websocket发送json数据给后台到接受返回的流程就OK了!


转载请保留出处:

猜你在找的Swift相关文章