Существуют две библиотеки для сетевых коммуникаций C / C ++ из свободного и открытого мира, которые качаются - LibEvent и Boost.Asio . Используя их, вам не нужно копаться в особенностях операционной системы или конкретных API для сетевых коммуникаций. Они оба имеют хорошую документацию и набор приличных примеров .
Как примечание, даже использование TCP / IP не делает протокол связи надежным с высшей точки зрения. Чтобы обеспечить надежность, приложения обычно определяют протоколы более высокого уровня поверх TCP / IP. Эти протоколы описывают последовательность сообщений, сердцебиение, поддержку ретрансляции и так далее. Есть также надежные протоколы, построенные поверх UDP (так называемый RUDP).
Если вы чувствуете, что скорость и надежность очень важны, вы можете использовать одну из передовых технологий, таких как Tibco, LBM (Informatica / 29West) или Tervela . Все эти решения могут работать поверх различных коммуникационных протоколов, предоставляя пользователю удобный API.