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了!
转载请保留出处: