Socket.IO on Objective-C

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

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

    Socket.IO on Objective-C_第2张图片
    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"里面

你可能感兴趣的:(Socket.IO on Objective-C)