Есть ли способ получить ссылку на сокет с помощью CFStreamCreatePairWithSocketToHost ()?

Я создаю 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));

, но я не могу понять, как получить действительную ссылку на мой сокет. Вы можете мне помочь?

6
задан Thomas Kekeisen 2 November 2010 в 22:32
поделиться