Tho*_*sen 6 iphone tcp objective-c
我正在使用CFStreamCreatePairWithSocketToHost这样创建一个套接字tcp连接来获取写入流(我不想准备任何数据):
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)host, port, NULL, &writeStream);
Run Code Online (Sandbox Code Playgroud)
这很好用,但由于nagle的算法,我的tcp命令被缓冲了.这可能很酷,但在我的情况下,我需要尽快发送命令,没有任何延迟.
我找到了一种方法来禁用这个"功能"使用下面的代码发现这里:
int yes = 1;
setsockopt(CFSocketGetNative(aSocket), IPPROTO_TCP, TCP_NODELAY, (void *)&yes, sizeof(yes));
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何获得对我的套接字的有效引用.你能帮助我吗?
Lil*_*ard 10
CFDataRef socketData = CFWriteStreamCopyProperty(writeStream, kCFStreamPropertySocketNativeHandle);
CFSocketNativeHandle handle;
CFDataGetBytes(socketData, CFRangeMake(0, sizeof(CFSocketNativeHandle)), &handle);
// handle now contains the same thing as CFSocketGetNative(aSocket)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1929 次 |
| 最近记录: |