我很难在Objective-C中找到基本套接字的简单指南/示例(在NSFileHandle中使用NSSocketPort或使用CFSocket/CSNetwork)。有没有人能推荐一个指南或者一个有用的例子?我将不胜感激!我尝试过使用this,但它并不完整。谢谢!
另外,我已经被困在我的项目的这一部分有一段时间了,我开始不顾一切地寻求帮助。
发布于 2010-08-04 16:57:32
我找到的最简单的方法是Cocoa Async Socket类:
https://github.com/robbiehanson/CocoaAsyncSocket
它使用起来非常简单,其中包含了很好的html文档。
发布于 2016-06-08 15:54:21
我知道我正在提交一个非常古老的问题的答案。以防您(访问者/stackoverflow {lover/users})想要编写自己的异步套接字。您所需要做的就是从连接的CFSocketRef对象中分离本机套接字句柄。
void TCPClientCallBackHandler(CFSocketRef s, CFSocketCallBackType callbacktype,CFDataRef address, const void *data,void *info){
ClientSocket *obj_client_ptr=(__bridge ClientSocket*)info;
switch (callbacktype) {
case kCFSocketConnectCallBack :
if(data){
[obj_client_ptr StopClient];
}
else{ //detach socket started
CFSocketNativeHandle handle=CFSocketGetNative(s);
CFSocketSetSocketFlags(s, 0);
CFSocketInvalidate(s);
CFRelease(s);
s=nil;//detach socket ended
[obj_client_ptr ConfigureStream:handle];
// handle pass to CFStreamCreatePairWithSocket then bridge to NSStream
}
break;
}
}如果还没看懂,那就在youtube上看吧:https://www.youtube.com/watch?v=bJP4nysTmnI
https://stackoverflow.com/questions/3403930
复制相似问题