has*_*anm 0 sockets iphone arraylist objective-c nsmutablearray
我想在ArrayList/NSMutableArray中存储几个套接字,但套接字的类型为int,NSMutableArray只接受对象(id).是否有其他数据类型可以用作套接字的容器?我不确定我会有多少条目,所以我希望数据容器就像一个ArrayList.
谢谢!
编辑:我已经尝试将套接字作为NSNumber发送,但是当我尝试使用套接字发送消息时,它无法正常工作并导致XCode崩溃.
你应该在NSFileHandle
实例中包装你的文件描述符,这些将在内部集合对象中发挥很好的作用,NSArray
并且设计用于包装文件描述符,例如套接字.它们还允许您使用标准基础类型,例如NSData
与您的通信结合使用.
int s = socket(AF_INET, SOCK_STREAM, 0);
if (s != -1)
{
// bind or connect to address
NSFileHandle *mySock = [[NSFileHandle alloc] initWithFileDescriptor:s closeOnDealloc:YES];
[myMutableArray addObject:mySock];
}
Run Code Online (Sandbox Code Playgroud)
请注意,NSFileHandle
它还提供了异步接受连接的便捷方法,以及异步I/O. 您可以使用该fileDescriptor
方法返回原始文件描述符.
归档时间: |
|
查看次数: |
158 次 |
最近记录: |