我正在尝试建立与现有服务器的客户端TCP / IP连接.连接后,我希望收到一些有关服务器的数据(版本等).
建立连接后,NsstreamEventopenCompleted事件将触发,因此我知道已建立连接.接下来,NsstreamEventHasBytesAvailable事件将触发,我正在执行以下代码.值71(int)存储在len中,我认为这是正确的.但是,行
[data appendBytes:&buffer length:len];
正在崩溃(我想).没有抛出实际错误,但我确实看到了__TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__,即使我已经清楚地添加了错误捕获:
case NsstreamEventHasBytesAvailable: { NSMutableData *data=[[NSMutableData alloc] init]; uint8_t *buffer[1024]; unsigned int len=0; len=[(NSinputStream *)stream read:buffer maxLength:1024]; if(len>0){ @try{ [data appendBytes:&buffer length:len]; } @catch(NSException *ex){ NSLog(@"Fail: %@",ex); } [statusLabel setText:[data stringValue]]; //[bytesRead setIntValue:[bytesRead intValue]+len]; }else{ NSLog(@"No Buffer"); } break ; }解决方法 将缓冲区声明为:
uint8_t buffer[1024];
并附加为:
[data appendBytes:buffer length:len];总结
以上是内存溢出为你收集整理的iPhone SDK – NSStreamEventHasBytesAvailable / appendBytes:崩溃全部内容,希望文章能够帮你解决iPhone SDK – NSStreamEventHasBytesAvailable / appendBytes:崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)