Go Lang, модификация и разработка сокета из TCP в WebSocket
Работа удаленная. Однако, предпочтение будет отдано кандидату, с возможностью обсуждений задач при личной встрече. Задача: Разработка интеграционного сервиса на Go, суть которого - получать события по TCP сокету с платформы телефонии (протокол AMI) и некоторые из них отправлять в WebSocket, сервером которого сам этот сервис будет являться. К вебсокету будут подключаться пользовательские приложения. Эти приложения будут слать команды в сокет, сервис должен их принимать и, в зависимости от полученной команды, посылать команду на сервер телефонии (тот же TCP сокет, протокол AMI) Т.е. сервис:
- одним плечом должен подключаться к серверу телефонии,
- другим плечом предоставлять сервер для websocket подключений (хаб - сообщения для всех пользователей);
- принимать подключения по websocket-у от пользовательских приложений
- посылать в websocket полученные события от сервера телефонии по TCP (AMI) (минимум преобразований: из многострочного текста в JSON)
- принимать по websocket от пользовательских приложений запросы (команды)
- посылать на сервер телефонии в TCP (AMI) команды, подставляю туда значения из запроса пользователя
- одним плечом подключаться к серверу телефонии (TCP AMI)
- посылать методом HTTP POST полученные события от сервера телефонии по TCP (AMI) (есть преобразования: из многострочного текста в JSON)
- принимать запросы по HTTP GET от пользователей
- посылать на сервер телефонии в TCP (AMI) команды, подставляю туда значения из запроса пользователя
- тестовая среда: сервер телефонии к которому можно подключиться и читать/посылать события/команды
- список событий от сервера телефонии, которые нужно будет отправлять подключенным клиентам (в соответствии с имеющимся сервисом, который работает на http post)
- требования к формату сообщений, отправляемых по websocket-у подключенным клиентам
- требования к формату команд, получаемых от клиентов по websocket-у
- доступ к репозиторию с имеющимся сервисом интеграции
- "обзорную экскурсию" по коду (хотя по факту его не много) имеющегося сервиса интеграции (подробно знаем, как работает и что за что отвечает)
• Golang
• Git
• HTTP, REST, WebSocket
p.s. стоимость варьируется от объема задач