Является ли сокетная связь надежным протоколом для межпроцессного взаимодействия? - PullRequest
0 голосов
/ 05 октября 2011

Я разрабатываю протокол связи, который будет использоваться для связи между двумя приложениями для ПК с использованием сокетного соединения.Наиболее распространенный случай, когда оба приложения работают на одном компьютере, но можно будет запустить одно приложение на удаленном компьютере.Приложение может обмениваться данными до 2 Мбит / с.Вопрос заключается в следующем: буду ли я использовать пакеты подтверждения, чтобы пакет, отправленный одним приложением, был получен другим?Я знаю, что сокет использует TCP-соединение, поэтому подтверждение / ретрансляция уже реализована, но мне нужен отзыв от кого-то, кто использовал его на практике.

Используемые технологии: - сервер сокетов: приложение .NET, использующее следующую библиотеку: http://www.codeproject.com/KB/IP/AsyncSocketServerandClien.aspx - клиент сокетов: приложение .NET или Delphi

1 Ответ

4 голосов
/ 05 октября 2011

Это нормально, трафик закорочен в стеке драйверов TCP / IP.Нет никакой большой разницы с любым другим механизмом IPC, он просто берет копию из памяти в память, поэтому работает на скоростях шины.5 гигабайт / сек с микросекундами или около того для служебных данных.Плюс любое переключение контекста должно произойти, безусловно, самая большая стоимостьИменованная труба будет работать так же.Конечно, это падает с обрыва, когда вам нужно пройти через NIC.

...