Socker iOS 客户端是一个用于与支持在单个连接上订阅多个频道的 socker websocket 服务器通信的 iOS 客户端。它基于非常好的 SocketRocket 库。
将以下内容添加到您的 Podfile
中,并运行 pod install
pod 'FMSocker'
导入库
#import <FMSocker/FMSocker.h>
使用 socker 服务器 URL 初始化客户端
FMSockerClient *sockerClient = [[FMSockerClient alloc] initWithURL:[NSURL URLWithString:@"wss://example.com"]];
// Connect to the server
[sockerClient connect];
订阅频道
// Subscribe on foo channel
[sockerClient subscribeOnChannel:@"foo"
onMessage:^(FMSockerMessage *message, NSError *error){
if (!error) {
NSLog(@"Got message on channel %@ with payload %@", message.name, message.data);
} else {
NSLog(@"Failed to parse message %@", [error localizedDescription]);
}
}];
// Subscribe on bar channel
[sockerClient subscribeOnChannel:@"bar"
onMessage:^(FMSockerMessage *message, NSError *error){
if (!error) {
NSLog(@"Got message on channel %@ with payload %@", message.name, message.data);
} else {
NSLog(@"Failed to parse message %@", [error localizedDescription]);
}
}];
发送消息
// Create a socker message
FMSockerMessage *message = [[FMSockerMessage alloc] initWithName:@"testchannel" andData:@[ @"foo", @"bar" ]];
// Initiate the client with a url to your socker server
FMSockerClient *sockerClient = [[FMSockerClient alloc] initWithURL:[NSURL URLWithString:@"wss://example.com"]];
// Connect to the server
[sockerClient connect];
// Send the message
NSError *error;
[sockerClient sendSockerMessage:message error:&error];
退订频道
// Unsubscribe channel named foo
[sockerClient unsubscribeChannel:@"foo"];
退订所有频道
[sockerClient unsubscribeAll];
断开 websocket 连接
[sockerClient disconnect];