TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | May 2015 |
Maintained by javen macbook air.
Depends on: | |
SocketRocket_Javen | = 0.3.2 |
Reachability | ~> 3.2 |
RainBow是一个基于websocket的支持多种QOS的消息转发服务器及客户端SDK。使用RainBow可以让您业务逻辑与链接管理完美的分离开来,且可以继续使用您最熟悉的方式(HTTP)来接入业务逻辑。以下是概览图,绿色部份为RainBow的组成部份:
pod 'Rainbow' ~> '1.1.3'
//websock host的一般形式 ws://host:port
[[RainbowEngine defaultEngine] connectWebSocketHost:@"host"];
[RainbowEngine defaultEngine].delegate = self;
发送QOS=0请求(不会收到服务器回应)
- (void)sendMessageQosNoneAndMsgType:(UInt16)msgType content:(NSString *)content;
发送QOS=1请求
[RainbowEngine defaultEngine] sendMessageQosLeastOneAndMsgType:1 content:@"test" success:^(UInt16 msgType, NSString *content) {
} failure:^(NSError *error) {
}]
发送QOS=2请求
[RainbowEngine defaultEngine] sendMessageQosMostOneAndMsgType:1 content:@"test" success:^(UInt16 msgType, NSString *content) {
} failure:^(NSError *error) {
}]
自定义请求
[[RainbowEngine defaultEngine] sendMessageWithQos:RBQosMostOne mesType:1 content:@"test" timeout:15 success:^(UInt16 msgType, NSString *content) {
} failure:^(NSError *error) {
}];
- (void) rainbowEngine:(RainbowEngine *)engine didReceiveMsgType:(UInt16)type content:(NSString *)content {
}
[[RainbowEngine defaultEngine] close];
- (NSDictionary *)headerDictForWebSocketRequest {
NSMutableDictionary *headers = [NSMutableDictionary dictionary];
return headers;
}
- (void)rainbowDidConnectSuccess:(RainbowEngine *)rainbow;
- (void)rainbowDidConnectWaiting:(RainbowEngine *)rainbow;
- (void)rainbow:(RainbowEngine *)rainbow didCloseWithCode:(NSInteger)code reason:(NSString *)reason;
- (void)connectWebSocketHost:(NSString *)webSocketHost rainbowDispatchQueue:(dispatch_queue_t)rainbowDispatchQueue;
- (void)connectWebSocketHost:(NSString *)webSocketHost delegateDispatchQueue:(dispatch_queue_t)delegateDispatchQueue;
- (void)connectWebSocketHost:(NSString *)webSocketHost rainbowDispatchQueue:(dispatch_queue_t)rainbowDispatchQueue delegateDispatchQueue:(dispatch_queue_t)delegateDispatchQueue;