У меня есть TCP-сервер, который получает данные от одного (и только одного) клиента. Когда этот клиент отправляет данные, он устанавливает соединение с моим сервером, отправляет одно (логическое) сообщение, а затем больше не отправляет это соединение.
Затем будет установлено другое соединение для отправки следующего сообщения.
У меня есть сотрудник, который говорит, что это очень плохо с точки зрения ресурсов. Он говорит, что установление соединения требует больших ресурсов и занимает много времени. Он говорит, что мне нужно, чтобы этот клиент установил соединение, а затем просто продолжал использовать его до тех пор, пока нам нужно общаться (или пока не возникнет ошибка).
Одним из преимуществ использования отдельных соединений является то, что я, вероятно, могу их многопоточить и получить большую пропускную способность в линии. Я упомянул об этом своему коллеге, и он сказал мне, что наличие множества открытых сокетов убьет сервер.
Это правда? Или я могу просто позволить ему создать отдельное соединение для каждого логического сообщения, которое нужно отправить. (Обратите внимание, что под логическим сообщением я имею в виду XML-файл переменной длины.)