Ip адреса известны заранее.
Проблема "без-серверной" передачи данных заключается только при отсутствии этого пункта. Если вы можете установить прямое соединение между двумя точками - вам не нужен сервер.
Роль сервера - найти пользователей и связать их. А далее они уже могут соединяться друг с дружкой и приватно обмениваться данными. Какой-то клиент может даже стать сервером, или несколько клиентов (обычно в локальной сети используется).
В контексте локальной сети нет никаких проблем взять какой-то порт (или промежуток портов) и бродкастом послать запрос типа "я в сети чуваки", в итоге кто-то кто будет выступать в роли сервера словит запрос и отправит ответ типа "привет чувак, вот все остальные чуваки".
Посылать бродкаст запросы в интернет явно не лучшая идея потому обычно есть сервер с известным IP который делает ровно то же самое.
Если же у вас все и так известно - то нет смысла в сервере.