Socket.IO on Objective-C

Socket.IO on iOS 基础与简介
GitHub下载地址(swift版本):socket.io-client-swift

  1. 下载解压项目之后,将Source文件夹全部拖入项目中
258813FE-F822-42DA-9F35-93BE877B1047.png
  1. 项目->Build Setting->Packaging
    Defines Module 设置成YES
    Product Module Name保持原样或者设置成你想要的名字

    80078F0E-D773-4F3F-856D-83F640432DDB.png

  2. (这里讲的是Objective-C项目)此时Xcode会跳出一个弹框,选择YES,创建连接桥XXXX(项目名字)-Bridging-Header

  3. 下面介绍代码部分

因为我的Product Module Name保持不变,所这里是VoiceDemo
这里import的是XXXX(项目名字)-swift.h 后面格式不变
import貌似不会自动跳出,必须自己敲出来,但是可以command+鼠标点击进去看

#import "VoiceDemo-swift.h"
    NSURL *url = [[NSURL alloc] initWithString:@"ws://xxxxxxxx:3001"];
    self.socket = [[SocketIOClient alloc] initWithSocketURL:url options:@{@"log": @YES, @"forcePolling": @YES, @"nsp":@"/im"}];
    
    [self.socket on:@"connect" callback:^(NSArray * _Nonnull data, SocketAckEmitter * _Nonnull ack) {
        NSLog(@"(SocketIOClientStatusConnected = 3) socket status:%ld",ack.socket.status);
        
        NSLog(@"actNum:%ld",ack.ackNum);
    }];
    
    [self.socket on:@"broadcast" callback:^(NSArray *data, SocketAckEmitter *ack) {
        NSLog(@"%@",data);
    }];
    
    [self.socket connect];

在这里有一个问题,我搞了好久最后才发现(之前一直连不上),initWithSocketURL后面只能放到端口号而已,端口号后面的后缀放在options里面的@"nsp"里面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 辅导孩子功课发现,目前小学四五年级的学习量远大于我们当年,像英语,过去是到初中才开课的,现在已经占据学习任务的三分...
    胡爸爸的通识课阅读 402评论 0 0
  • 公园晨跑 晨风清爽 凉意消酷热 虬枝摆舞 叶榕抚须乐 碧水层波亭阁 一池残荷 抬头满目葱郁 几无秋色 美女凭栏 耳...
    普度苍生Neil阅读 170评论 0 0
  • 参加工作以后,也许是因为生活环境远离城市的缘故,渐渐地喜欢上安静。 喜欢安静地看书,安静地看电影,安静地写字,安静...
    独行侠木熙熙阅读 239评论 0 2