Socket.IO on iOS 基础与简介
GitHub下载地址(swift版本):socket.io-client-swift
- 下载解压项目之后,将Source文件夹全部拖入项目中
-
项目->Build Setting->Packaging
Defines Module 设置成YES
Product Module Name保持原样或者设置成你想要的名字
(这里讲的是Objective-C项目)此时Xcode会跳出一个弹框,选择YES,创建连接桥XXXX(项目名字)-Bridging-Header
下面介绍代码部分
因为我的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"里面