Всем доброго времени суток)
Столкнулся с одной проблемкой: не работает fpSetSockOpt при компиляции под linux, причем в прямом смысле не работает!
Дело в следующем: необходимо отключить использование алгоритма Нагла (он используется для кэширования крохотных TCP пакетов).
Для этого необходимо выполнить следующую настройку сокета:
lyes := 1;
fpsetsockopt(Sock, IPPROTO_TCP, TCP_NODELAY, @lyes, sizeof(integer));
Настройка задается т.е fpsetsockopt(...) > 0 , ошибки нет и вызов fpGetsockopt(Sock, IPPROTO_TCP, TCP_NODELAY, @lyes, @lyesSize) подтверждает, что флаг установлен.
При компиляции под linux (пробовал на Убунте и CentOS) используется стандартная библиотека Sockets, но алгоритм Нагла не отключается, хотя при компиляции под Windows (с использованием библиотеки WinSock) все прекрасно работает.
Сначало было подумал, что функция fpsetsockopt прописана с ошибками или просто не работает, но пробовал с другими настройками (напр. IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP все работает).
В общем зашал в тупик, может кто-то сталкивался с подобными вещами или алгоритм Нагла можно как-то по другому отключить? Или это какое-то системное ограничение?
Заранее спасибо за предложения!