Если вы просто заинтересованы в быстром и «грязном» чате, который должен работать только через локальную сеть, я бы рекомендовал всем клиентам отправлять и получать широковещательные UDP-пакеты по одному общеизвестному номеру порта.Тогда сервер вообще не нужен, и, следовательно, нет необходимости в обнаружении, и все намного проще.
Если вы действительно хотите идти по пути клиент-сервер, у вас должен быть свой сервер (иначехост) машина принимает TCP-соединения на одном общеизвестном порту, а затем использует select () или poll () для мультиплексирования входящих TCP-соединений и пересылки любых данных, поступающих из каждого входящего TCP-сокета, на все остальные сокеты,Клиенты могут подключаться через TCP к серверу через этот известный порт, но клиенты должны будут каким-то образом знать, к какому IP-адресу подключаться ... либо из-за того, что пользователь вводит IP-адрес сервера, либокаким-то механизмом обнаружения (для реализации этого могут использоваться широковещательные пакеты UDP).Этот способ требует гораздо больше работы.