Я создаю TCP-соединение сокета, используя CFStreamCreatePairWithSocketToHost
, как это, чтобы получить поток записи (я не хочу готовить какие-либо данные):
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)host, port, NULL, &writeStream);
Это работает довольно хорошо, но из-за nagle's алгоритм мои команды tcp буферизуются. Это может быть круто, но в моем случае мне нужно отправить команду как можно быстрее и без задержек.
Я нашел способ отключить эту «функцию», используя следующий код, найденный здесь :
int yes = 1;
setsockopt(CFSocketGetNative(aSocket), IPPROTO_TCP, TCP_NODELAY, (void *)&yes, sizeof(yes));
, но я не могу понять, как получить действительную ссылку на мой сокет. Вы можете мне помочь?