Я и мой ёбаный кот на фоне ковра. Войти !bnw Сегодня Клубы
Погружаюсь в прекрасную технологию вебсокетов, неведомую мне до сих пор. Очень она чудна, должен сказать. Взял хелловорлд, обрезав до того, что мне нужно, и вот что получил: 1. открываю браузер, тот делает соединение с сервером, и дальше ждёт "обновлений" от него (собственно, зачем ws и были нужны). Сервер, соответственно, список соединений кладёт в MVar, там их и держит. 2. curl'ом дёргаю некоторую штуку (POST-запрос на /api/something/), которая должна, по идее, повлечь за собой отсыл всем слушающим, собственно, сообщения в веб-сокет. В результате эта херня прямо туда же в curl делает броадкаст, ещё и в перемешку с обычным его запросом. Всё разваливается, браузер ничего не видит. Долго думал, в общем. Уже расстроился даже, но вдруг пришло в голову объяснение. Поскольку, в отличии от хеллоуворлда, мне (серверу) не интересно слушать что там "кукарекает" ему браузер -- я не делаю бесконечный цикл приёма сообщений, в результате, по видимому, сокет этого вебсокета закрывается, а вместо него, с таким же int-идентификатором открывается сокет, по которому запрашивает curl, в результате ему всё и сыпется. Короче REST наше всё, буду вебсокеты по самому минимому использовать, а то ну его подобные артефакты.
#6MTZOL / @kb / 3636 дней назад

вебсокеты -- это охуенно. Ты что-то неправильно делаешь. > В результате эта херня прямо туда же в curl делает броадкаст, ещё и в перемешку с обычным его запросом. чо за нах? Для вебсокетов открывается отдельное соединение, оно не должно открываться при вызове курлы-курлы. POST на /api/.. должен выдать "запощено ок", и постить в вебсокет-соединения, а не в хттп-соединения. > вместо него, с таким же int-идентификатором открывается сокет, по которому запрашивает curl в вебсокетах есть хендшейк, требующий участия как клиента, так и сервера, и без него срать в сокет не получится. Разве что если у тебя биндинги слишком ональные. в общем, я себе налепил вебсокеты на итератах, у меня всё работает заебись, подобной хуйни не было ни разу.
#6MTZOL/0A4 / @gds / 3636 дней назад
@gds Дык я об этом и говорю. Я всё правильно делал, просто по ненужности закрывал тред, в результате вот такие артефакты вылезли. POST /api дёргал место, которое вообще никак к вебсокетам не относилось, ничего не открывало, а в ответ получал то, что я писал в вебсокеты в т.ч. Короче весло, решил поделиться. Как решение -- оставил висеть тред с бесконечным приёмом сообщений -- всё нормик работает.
#6MTZOL/9UL / @kb --> #6MTZOL/0A4 / 3636 дней назад
@kb лол
#6MTZOL/OMJ / @krkm --> #6MTZOL/9UL / 3636 дней назад
Оче советую SSE. Правда в ff версии 28 оно у меня не работало нихуя, сейчас - дунно чо там
#6MTZOL/PUF / @grouzen / 3636 дней назад
@grouzen Та хз, по сути вебсокеты -- очень правильная надстройка над TCP-сокетами, хуле еще нужно -- даже трудно представить.
#6MTZOL/0V5 / @kb --> #6MTZOL/PUF / 3636 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.