美文网首页
Socket.IO-Client-Swift 在 Obje

Socket.IO-Client-Swift 在 Obje

作者: Icy_Summer | 来源:发表于2018-12-07 13:43 被阅读0次

    这属于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

    相关文章

      网友评论

          本文标题:Socket.IO-Client-Swift 在 Obje

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