gpt4 book ai didi

iphone - 有没有办法使用 CFStreamCreatePairWithSocketToHost() 获取套接字引用?

转载 作者:可可西里 更新时间:2023-11-01 02:31:35 24 4
gpt4 key购买 nike

我正在使用 CFStreamCreatePairWithSocketToHost 创建一个套接字 tcp 连接来获取写入流(我不想准备任何数据):

CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)host, port, NULL, &writeStream);

这工作得很好,但因为 nagle's algorithm我的 TCP 命令被缓冲。这可能很酷,但在我的情况下,我需要尽快发送命令,不要有任何延迟。

我找到了一种使用以下代码禁用此“功能”的方法 here :

int yes = 1;
setsockopt(CFSocketGetNative(aSocket), IPPROTO_TCP, TCP_NODELAY, (void *)&yes, sizeof(yes));

但我不知道如何获得对我的套接字的有效引用。你能帮帮我吗?

最佳答案

CFDataRef socketData = CFWriteStreamCopyProperty(writeStream, kCFStreamPropertySocketNativeHandle);
CFSocketNativeHandle handle;
CFDataGetBytes(socketData, CFRangeMake(0, sizeof(CFSocketNativeHandle)), &handle);
// handle now contains the same thing as CFSocketGetNative(aSocket)

关于iphone - 有没有办法使用 CFStreamCreatePairWithSocketToHost() 获取套接字引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4082686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com