DDTCPClient
DDTCPClient 是一个基于 CocoaAsyncSocket 的高层套接字工具。
功能
- 线程安全,套接字操作在串行队列上。
- 分包和粘包。
- 维护读包一份。
- 网络状态监控和重连机制。
- 心跳机制。
安装
遮果狗
- 将
pod 'DDTCPClient'
添加到您的 Podfile。 - 运行
pod install
或pod update
。 - 导入 <DDTCPClient/DDTCPClient.h>。
手动
- 下载源子目录下的所有文件。
- 将源文件添加到您的Xcode项目。
- 导入
DDTCPClient.h
。
用法
初始化
DDTCPClient *socket = [[DDTCPClient alloc] init];
socket.delegate = self;
属性
// debug log open
socket.isDebug = YES;
// default is 10, set -1 when reconnect forever
socket.reconnectCount = -1;
// reconnect timeInterval
socket.reconnectTimeInterval = 5;
连接和断开
// Connect
[socket connectHost:host port:port];
// Disconnect
[socket disConnect];
发送心跳或发送数据
// Send data
NSString *registStr = @"I'm register informations";
NSData *registData = [registStr dataUsingEncoding:NSUTF8StringEncoding];
[socket sendData:registData];
// Sent heart, just set once, heart data will be send one by one
NSString *heartStr = @"I'm heart informations";
NSData *heartData = [heartStr dataUsingEncoding:NSUTF8StringEncoding];
[socket setHeartData:heartData];
委托
- (void)client:(DDTCPClient *)client didReadData:(NSData *)data {
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"DDAsyncSocket -- %@", str);
}
- (void)client:(DDTCPClient *)client didConnect:(NSString *)host port:(uint16_t)port {
}
- (void)clientDidDisconnect:(DDTCPClient *)client {
}
需求
此库需要 iOS 8.0+
。
许可证
DDTCPClient 在 MIT 许可证下提供。详细信息请参阅 LICENSE 文件。