gpt4 book ai didi

iphone - 如何在 iPhone 上的 TCP 连接上禁用 Nagle 算法

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

我正在构建一个套接字,使用


CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault,
(CFStringRef) yourHostAsNSString,
yourPortAsInteger,
&myReadStream,
&myWriteStream);
我看到当我用“myWriteStream”发送消息时,它会将几条消息连接在一起,然后发送它们。我认为这是因为 Nagle 算法而发生的,我想禁用它。有谁知道怎么做吗?

最佳答案

不能保证这会解决您的问题,但如果您想禁用 Nagle 算法,您需要从流中获取 native 套接字并调用 setsockopt

CFDataRef nativeSocket = CFWriteStreamCopyProperty(myWriteStream, kCFStreamPropertySocketNativeHandle);
CFSocketNativeHandle *sock = (CFSocketNativeHandle *)CFDataGetBytePtr(nativeSocket);
setsockopt(*sock, IPPROTO_TCP, TCP_NODELAY, &(int){ 1 }, sizeof(int));
CFRelease(nativeSocket);

(向 Mike Ash 大喊 compound literal 把戏。)

关于iphone - 如何在 iPhone 上的 TCP 连接上禁用 Nagle 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3148059/

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