SocketCluster的原生iOS客户端
该项目处于测试阶段。
#import <SocketClusteriOS/SocketCluster.h>
libSocketClusteriOS.a
、SocketCluster.h
、SocketClusterDelegate.h
和SocketClusteriOSBundle.bundle
添加到您的项目中。#import <SocketClusteriOS/SocketCluster.h>
导入模块<SocketClusterDelegate>
冲突,例如@interface ViewController : UIViewController <SocketClusterDelegate>
SocketCluster *sc = [[SocketCluster alloc] init]; sc.delegate = self; //Self
[socketCluster connectToHost:@"127.0.0.1" onPort:8000 securly:NO];
[socketCluster disconnect];
[socketCluster getState];
确保您已实现协议<SocketClusterDelegate>
- (void)socketClusterReceivedEvent:(NSString *)eventName WithData:(NSDictionary *)data;
{
if ([@"rand" isEqualToString:eventName]) {
NSArray *positiveFaces = @[@";p", @":D", @":)", @":3", @";)"];
NSNumber *index = data[@"rand"];
NSString *face = [positiveFaces objectAtIndex:[index intValue]];
NSString *msg = [NSString stringWithFormat:@"rand event received: %@", face];
[self logMessage:msg];
}
}
data
可以是任何格式,但它们应该是可序列化的[socketCluster emitEvent:@"eventName" WithData:data];
[socketCluster subscribeToChannel:@"channelName"];
[socketCluster unsubscribeFromChannel:@"channelName"];
data
可以是任何格式 [socketCluster publishToChannel:@"channelName" WithData:data];
watch
)确保您已实现协议<SocketClusterDelegate>
- (void)socketclusterChannelReceivedEvent:(NSString *)channel WithData:(NSDictionary *)data
{
if ([@"pong" isEqualToString:channel]) {
[self logMessage:[NSString stringWithFormat:@"Channel %@ received message %@", channel, data[@"data"]]];
}
}
NSArray * subscriptions = [socketCluster getSubscriptions];
NSArray * subscriptions = [socketCluster getSubscriptionsIncludingPending];
所有这些回调只有在您实现了协议 <SocketClusterDelegate>
才会工作
- (void)socketClusterDidConnect
{
[self logMessage:@"Connected"];
}
- (void)socketClusterDidDisconnect
{
[self logMessage:@"Disconnected"];
}
- (void)socketClusterOnError
{
[self logMessage:@"Error"];
}