Каким способом лучше создать связь «сервер-клиент» в программе на C#?
Возьми asp net core и не мучайся ни с WCF, ни с сырыми сокетами.
Мгновенные уведомления - через SignalR
сделайте что то на основе этого
https://stackoverflow.com/questions/40616911/c-sha...
суть в том что внутри одного сегмента вы автоматически сможете все получать.

Протокол пусть будет такой
client register 192.168.0.1:2020 (broadcast)
server notify notify message по адресу клиента 192.168.0.1:2020

Чем не устраивает оповещение через оутлук допустим?