Вопрос задается как WCF или HTTP или TCP.WCF - чрезвычайно гибкий коммуникационный фонд.Вы можете написать свой код один раз и украсить свои классы данных и на лету переключиться через конфигурацию и код между HTTP JSON / POX, TCP, Binary, Binary over HTTP, настраиваемой сериализацией и т. Д. ... Вопрос в том, какой механизм транспорта вы выберете,на основе ограничений маршрутизации / брандмауэра, клиентов и т. д. Лично мне нравятся диагностируемые транспорты, такие как HTTP и JSON / XML, просто потому, что они универсальные, маршрутизируемые и диагностируемые (checkout fiddler2).
Из вашего описанияПохоже, что трудной частью проблемы является мониторинг сетевого трафика REALTIME, который выполняет служба.Канал между клиентом и этой службой кажется более простой частью проблемы.
Кроме того, из описания клиент не обязательно должен быть в режиме реального времени и просто запрашивает статистику, настройки и журналы.Потому что клиент может быть локальным или удаленным (возможно, удаленным, подразумевающим вне интрасети маршрутизацию извне).
По этой причине я бы отделил процесс сбора статистики сети REALTIME от части запросов, что делает его асинхронным, как вы упомянули.На этом этапе служба просто открывает канал для клиентов, чтобы запрашивать простую статистику, настройки и журналы ... выбрать наиболее маршрутизируемый и диагностируемый канал, такой как HTP, REST JSON | XML.Если это проблема, оставьте код сервера WCF без изменений и измените конфигурацию привязок WCF.
Вопрос немного открытый и неоднозначный, но, надеюсь, это немного поможет.