您的位置:首页 > 移动开发 > Swift

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

2015-03-26 15:55 501 查看
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了!

转载请保留出处:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐