似乎标题是自我描述性的。我想提高在我的应用程序中发送和接收数据的速度,我被告知将tcp_nodelay设置为true。但我不知道如何用GCDAsyncSocket做到这一点。任何人都可以帮助我吗?
答案 0 :(得分:3)
我没有使用 GCDAsyncSocket ,但是“GCDAsyncSocket.h”表明您可以使用socketFD
方法获取底层套接字描述符,该方法必须仅在{{{}}中调用1}}打电话。因此,以下代码可能有效:
performBlock:
您可能需要添加
[asyncSocket performBlock:^{
int fd = [asyncSocket socketFD];
int on = 1;
if (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&on, sizeof(on)) == -1) {
/* handle error */
}
}];
到你的源文件来编译它。正如我所说,我没有试过这个,但也许有助于指出你正确的方向。