【发布时间】:2015-05-21 11:32:17
【问题描述】:
当使用GCDAsyncSocket发送长文本字符串时,在接收端多次调用readDataWithTimeOut,但接收到的数据不一致,即接收到相同的文本但NSData不同。差异的可能原因是什么?请告诉我,因为我对GCDAsyncSocket知之甚少。
- (void)writeData:(NSData *)data {
[self.asyncSocket writeData:data withTimeout:-1 tag:1];
}
#pragma mark - GCDAsyncSocket Delegate Methods -
- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err {
[[NSNotificationCenter defaultCenter] postNotificationName:KSOCKET_MANAGER_REMOVAL
object:self
userInfo:nil];
}
- (void)socketDidCloseReadStream:(GCDAsyncSocket *)sock {
}
- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag {
}
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
DDLogInfo(@"SOCKET DID READ DATA:%@:%@",self.asyncSocket,self.contactJID);
[sock readDataWithTimeout:-1 tag:0];
if (data!=nil)
[self loadMessageWithData:data];
}
#pragma mark - Private Methods -
- (void)loadMessageWithData:(NSData *)encryptedData {
NSLog(@"DATA RECEIVED");
}
【问题讨论】:
标签: ios iphone gcdasyncsocket