Anonymous
Anonymous
Короче, перебои со связью неактуальны. Нужно реализовать максимально однородную, прозрачную и простую событийную систему на фронте и на бэкенде. Нафиг мне рест, если эта абстракция будет стоять между одинаковыми сущностями по обе стороны от неё. Эта прослойка здесь будет только создавать оверхэд.
Дима
Правильно, а вебсокеты — не оверхед))
Anonymous
Перебоев не будет, т.к. клиент и сервер — одна машина.
Дима
Молчу-молчу
Дима
Короче, ты делаешь микросервисы
Дима
?
Anonymous
Правильно, а вебсокеты — не оверхед))
Нет. Мне всё равно нужно будет реализовать медиатор. Если событие будет попадать ещё и в сокет инстанс, архитектура не так усложнится, как это было бы в случае с рестом.
Дима
...
Loyd
Я весь тред не читал
Loyd
Но откуда у http преимущества в плане сорханности перед ws?
Loyd
Если сохранность обоих регулируется tcp
Алексей
.. a TCP не гарантирует доставку сообщений …
Arseniy
udp не гарантирует
Loyd
tcp как раз гарантирует
Loyd
В отличие от датаграм
Anonymous
А какова необходимость над этим париться при доставке сообщений на localhost и обратно?
Arseniy
Перепутал наверное
Arseniy
Но это ключевое отличие udp vs tcp
Arseniy
Есть ещё вриант tcp over udp
Arseniy
Гугл что-то такое делали
Loyd
Неважно, localhost или нет, я не понял доводы людей, который топят в треде за лонгполинг и какую-то там доволнительную сохранность (щито?)
Arseniy
Протокол UDP но есть проверки
Anonymous
Я теперь вообще запутался. Никто не привёл ни пруфов, ни хинтов, куда мне копать. =)
Алексей
tcp гарантирует доставку пакетов и то при условии наличия соединения, а не сообщения.. если я отправил сообщения 10-и ресипиентам - а один из них отпал - он это сообщение не получит и все. Даже никогда не узнает что его должен был получить
Loyd
Ну да, он же отпал.
Anonymous
Ну и не страшно.
Алексей
Ну да, он же отпал.
так все, потеряно сообщение.. вы выключите базу данных из своего вооброжения - мы про чистый TCP
Anonymous
Если клиент стейтлес, то логично, что при старте нового соединения, он запрашивает своё состояние у "источника правды".
Алексей
Loyd
Ок =)
Loyd
Мерль
Anonymous
У меня мало понимания о том, что там происходит на низком уровне. Суть в том, что использование сокетов — вовсе не выстрел себе в ногу?
Loyd
А что непонятного-то? Если на клиенте нет стейта, то весь стейт в сообщении и => нет смысла контролировать доставку
Loyd
Соб-но, в играх потому udp и используют чаще всего
Anonymous
Ну, в общем, да.
Anonymous
Так. А с вебсокетами, всё-таки, кто-нибудь здесь работал? =)
Loyd
Все, наверное, работали.
Vladimir
> @bigslycat
Короче, перебои со связью неактуальны.
ахахаха
Мерль
Но как раз в играх стейт есть и на клиенте и на сервере, и udp там применяется из-за скорости и низкой ценности каждого кадра синхронизации состояний
Если речь идёт скажем о сообщениях на форуме, то udp применять нельзя
Vladimir
https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
Anonymous
Loyd
Да на локалхосте никаких.
Anonymous
Ну и я о том ж.
Vladimir
Ну про это никто не говорил
Loyd
Перебои сами по себе не страшны. Страшно, если контрольная сумма сойдётся при испорченных данных
Vladimir
Верно
Vladimir
Страшно применить апдейты не в том порядке
Vladimir
В ситуации когда локалхост, неважна надежность, порядок и т д - да делай что хочешь, как хочешь
Vladimir
Добрый день. Довольно такой дуратский вопрос, но как получить размер файла из POST запроса? Отправляю multipart. Получаю content_type, но размер там немного больше чем размер файла. Поэтому и хочется узнать как получить именно размер файла
Vladimir
Либо теряются данные, либо там учитывается размер всего http заголовка и прочего
Loyd
И при этом контрольные суммы сошлись бы
Loyd
биты порядка*
Vladimir
Имеется в вижу не испорченность пакетов, а испорченость результата, расчитаного на клиенте
Anonymous
Так вот, мой вопрос, с которого всё это началось, заключался в следующем: вот для HTTP придумали REST, RPC, SOAP... Потом JSON-API, RPC-JSON и т.д. И я хотел узнать, не придумали ли что-нибуть такое для вебсокетов? Не хочу писать велик. Особенно, не имея опыта. Хочу ознакомиться с соглашениями, если таковые уже есть.
Vladimir
Так задача какая?
Loyd
А что ты хочешь-то?
Vladimir
RPC по вебсокетам? это бессмысленно
Loyd
Ну почему-же.
Vladimir
Ну почему-же.
Есть теоритеский профит от мультиплексирования
Vladimir
Но и только
Loyd
Что в данном контексте мультиплексирование?
Loyd
Я знаю только одно мультиплексирование — select/poll.
Vladimir
Логических каналов на tcp сокеты
Loyd
Аа
Vladimir
т е нет head of line блокировки
Anonymous
Ну, что такое RPC? Это определённое соглашение, если в общем? Протокол над HTTP? Верно? Возможно, что-то более высокоуровневое есть и над веб-сокетами.
Vladimir
RPC это когда ты посылаешь запрос и получаешь ответ
Anonymous
Не обязательно это похоже на перечисленные мною вещи. Скорей всего, не похоже, вовсе.
Paul
Использую websocket'ы в продакшене уже 5 лет на разных проектах.
Написаны обертки на все случаи жизни.
Работает как часы, плюс онлайн обновления, нотификации и тд
Ничего не течет.
Возвращаться на http не хочется совсем
Anonymous
Хотя, я слышал, что есть рест овер сокетс.
Vladimir
Все можно, но просто это не НУЖНО
Vladimir
Можно и через webrtc сделать