Socket.IO-Client-Swift 在 Obje

2018-12-07  本文已影响0人  Icy_Summer

这属于swift 和 Object-C 的混编,如果直接下载了gitHub 上的 demo,拖入 source 文件,需要建立桥接文件,在这里我总是遇到  No such module 'Starscream' 的报错,可能拖入 Starscream 文件能行,但是我没有接着这条路走。我要说的是 cocopod 的方法导入到工程,这样系统自动配好了环境,也不用建立桥接文件了。

1.cocopod 导入,cd 到工程文件夹,vim Podfile 建立 Podfile 文件,在 Podfile 文件输入以下内容

Podfile 文件内容

这里 source 好像不用写,platform 未知,use_frameworks! 必须写,这个是有 swift 必须的,其他的和 OC  导入其他第三方库都一样。

然后去控制台,pod install ,等待一两分钟,重新打开工程文件夹,打开 .xcworkspace 文件。

2.导入 Socket.IO 库, 参照官方,如下:

ViewController.h 中

导入库

为啥用 @import ,自己可以研究研究。

3.开始使用,ViewController.m 中

    1.设置 url,这个 url 为服务器地址域名,不能多写 ,域名后面的 /xxx 都设置在 namespace 里面。

    2.设置配置参数字典,在这个字典里面一般有 log、forePolling 等参数,我们地址中 ? 后面的也是设置在这里,key 值为 connectParams,value 是个字典,其他的 extraHeaders 要和后台沟通是否需要。

    3.初始化 SocketManager 对象;

    4.初始化 SocketIOClient 对象,在这里可以设置 Namespace ,即请求url  / 后面 ?前面的,这个也可以在配置参数字典中,设置为 nsp 的值。

    5.添加 connect 监听,在这个方法里我们可以监听到是否长链接成功,一般也是在这里 向服务器 发送 join 请求,这个 join 只是一个字符串,需要询问后台你们的是什么。

    6.添加你需要的监听,我这里添加的是 message 的,监听服务器发送给我们的信息,做处理。

    7.链接, connect。

代码如下:

实现代码

当然也可以监听其他 key,看自己的需求而定。

监听其他key

到此就可以收到服务器的消息了,向服务器发消息使用 emit:with:方法。

 Socket.IO git 地址 : https://github.com/socketio/socket.io-client-swift.git

上一篇下一篇

猜你喜欢

热点阅读