Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpWsPrm 268 of 280 menu
◀ ▶

Практика WebSocket в Go

Дан путь /ws. Напишите полный main.go: зарегистрируйте этот путь, переведите запрос в канал сообщений и запустите прослушивание на 127.0.0.1:8080.

Дано сообщение клиента:

clientText := "ping"

Напишите полный main.go с сервером на /ws: после чтения текстового кадра отправьте "echo: ping", если байты совпали с clientText. Клиент в том же файле шлет clientText и печатает ответ.

Дан адрес канала:

url := "ws://127.0.0.1:8080/ws"

Напишите полный main.go только для клиента: откройте url, отправьте "hello" текстовым кадром и закройте канал отложенным вызовом. Сервер считайте уже запущенным отдельно.

Дан следующий фрагмент сервера:

_, msg, err := conn.ReadMessage() if err != nil { return } out := append([]byte("echo: "), msg...)

Допишите отправку out текстовым кадром и скажите, что увидит клиент, если он прислал "go".

Дана карта клиентов под замком. Напишите полный main.go: при каждом новом канале на /ws добавляйте его в карту и после чтения одного сообщения рассылайте "all: " плюс текст всем, кто в карте.

Дано сообщение:

note := []byte("bye")

Напишите полный main.go с одним клиентом: отправьте note, прочитайте ответ сервера, затем отправьте служебный кадр закрытия и вызовите Close на канале.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить