Использование сетевых ресурсов: сервер сообщений
Сетевые технологии обработки данных (СТОД)
Создать многопоточный TCP-сервер со следующим функционалом:
- фиксировать все попытки входящих соединений со стороны клиентов
- сервер должен идентифицировать клиента по его
ip
-адресу и сопоставлять с ним имя (к клиенту в дальнейшем можно обращаться по имени или поip
-адресу) - организовать постоянный приём и отсылку сообщений от клиентов (каждый клиент должен иметь возможность отправить любому другому присоединенному к серверу клиенту сообщение), сообщения оформляются как команды с помощью
JSON
- по требованию клиента сервер должен выдавать список всех присоединенных к нему клиентов (список оформляется с помощью
JSON
)
Организовать отсылку команд серверу. Команды вводятся пользователем с клавиатуры.
- install golang
sh setup.sh
- run server with
./run-server.sh
- run clients with
./run-client.sh
- to verify that
server.go
serves multiple TCP clients
$ netstat -anp TCP | grep 8000
- to test with
nc
:
$ nc localhost 8000
{"type": "ping", "payload": "hello"}