Это лучший бесплатный учебник в сети для программирования сокетов linux / unix на C.
https://beej.us/guide/bgnet/html/multi/index.html
У него есть пример кода.
Если хотите серьезно, купите книги У. Ричарда Стивенса по программированию в Unix.
Я также делал сокеты в Java, и они действительно просты. Не говоря уже о том, что параллелизм в Java также очень прост и часто необходим при написании сетевых программ. Просто поищите в Google java-сокете документацию на сайте Sun для этого.
Ваше решение C ++ будет просто использовать API Unix Sockets API, поэтому оно не будет отличаться от решения C. По этой причине я считаю ненужным использование C ++.
Редактировать: Итак, я недавно попробовал boost.asio. Это достойное решение, если вам нравится асинхронная парадигма, попробуйте ее с C ++!