Он не может работать без сервера, всё равно должна быть одна машина, которая будет являться всеобщим хранилищем данных. Это может быть не отдельных сервер, а, например, один из клиентов, который просто будет работать по тому же принципу, что и сервер, но ещё и отправлять / читать пакеты у себя. Использование стандартных библиотек без понимания того, как работают Sockets не рекомендуется, потому что существует огромная вероятность ошибки при разработке, либо просто потеря пакетов в дальнейшем. Для защиты пакетов от потерь и дублирования используется технология Acks, она нужна для установки уникальных идентификаторов отправляемым пакетом, такая же внедрена и в SL:NET, который был написан специально для упрощения работы с UDP Sockets.
Примеры работы с SL:NET есть в репозитории GitHub, папка "examples".
Гайд по использованию:
https://github.com/SLMP-Team/SLNet/wiki