Я новичок в программировании сокетов (как вы уже поняли по моему глупому вопросу), но, не говоря уже о моем позоре, я пишу программу с использованием TCP posix. Мое ограничение заключается в следующем: сообщение, которое должно быть отправлено с клиента на сервер, должно быть прочитано как поток байтов, и, хотя мое приложение имеет низкую производительность, сообщение должно быть доставлено как можно скорее Я написал клиентский класс TCP с намерением сделать следующее: 1 connect - многие отправляют - и 1 close в конце потоковой передачи. Проблема в том, что сообщения не доставляются в режиме, близком к реальному времени (я предполагаю, что ожидание будет иметь больший пакет для лучшего
пропускная способность) Проведя некоторые исследования в Интернете, я обнаружил, что хотя вы можете отключить алгоритм Nagle (NA), это очень плохая идея. Поскольку я новичок в программировании сокетов, я не хочу отключать функции, которые я до конца не понимаю. Так что у меня осталось два (плохих?) Варианта:
- connect - send- close для сообщения
- 1 коннект - отправьте несколько раз и сделайте 1 закрытие в конце с отключенным NA.
В то время как я читаю последствия отключения NA, мне кажется, что открывать и закрывать сокет каждый раз, просто чтобы послать сообщение, тоже дорогая цена.
Есть ли другие решения, не оставляя розеток?
Спасибо.