All streams
Search
Write a publication
Pull to refresh
26
0
Роман @softaria

User

Send message
Одним из важнейших качеств продукта является момент выхода его на рынок. Если кто-то сейчас сделает более дешевую и качественную альтернативу, например, Windows, он всё-равно ничего никому не продаст.
Чтобы выйти на рынок нужно или превосходить существующий продкут на порядок (что невозможно при копировании), либо делать продукт нишевым (здесь копирование тоже почти ничего не даст)
Релиз 1.0.0 редко бывает беспроблемным. Но разница с тем, что было в бете, огромна.
Это даёт основания рассчитывать на улучшение ситуации в следующих релизах.
>И возникнет старая проблема — невозможность создания кастомных серверов без хостинга в юнити.

Тут согласен с вами. Поэтому сам просто взял здесь простой клиент к WebSocket и прицепил его к Jetty (читай — к любому серверу с поддержкой WebSocket). Работает прекрасно.
>Это новая сеть, которую они пилят с 5-ки и к которой выкатывают 100500 фиксов к шоустоперам каждый патч.

Так часто бывает с ноыми продуктами. Скорее всего, процесс скоро сойдется.

>Не совсем понял, с чего сеть вообще должна быть синхронной?

Сеть не должна быть синхронной. Я к тому, что нельзя просто так обернуть Socket в WebSocket хотя бы потому, что первый поддерживает синхронные сообщения, а второй в браузерах не поддерживает.
В целом, вы правы. Если для чего-то сильно нужна такая техника, с ней надо быть аккуратным.
Технология сырая пока. Но есть надежда, что будет становиться лучше.
Работает. Пожалуй, об этом тоже стоило написать.
> У них есть штатная сеть, абстрагированная от сокетов и предоставляющая транспорт данных пользователя — почему она тоже не рабочая?

Она рабочая — http://docs.unity3d.com/Manual/webgl-networking.html

>WebSocket не заворачивается в http — это обычный потоковый tcp

Браузеры поддерживают только асинхронную отправку в WebSocket. Как быть с синхронной?
Вы ведь не один раз будете собирать. Надеюсь, еще сэкономите. Сам я потратил почти две недели на добычу этих знаний.
Вот тут Unity раздает пример клиента для Websocket.
А сервер можно взять на любой вкус. Я для прототипа взял Jetty. В production пойдет сервер на golang.
Хотя, это не аналог ejabberd, конечно.
Я не ставил целью пропаганду юнити. Статья написана для тех, кто столкёнтся с конкретной задачей. Цель статьи — сэкономить людям время. Предполагается (и я прозрачно намекнул об этом в Disclaimer), что этим людям не надо объяснять что такое ассет, рассказывать почему браузер не может запускать треды или пояснять, что браузеры не поддерживают сокеты.
Ваша претензия не к статье, а к технологии. А значит она не по адресу.
Общий принцип включения в статью — неочевидные проблемы, связанные именно с использованием Unity для сборки под WebGL.
Sockets не работает из-за отсутствия поддержки sockets в браузерах. Это — не проблема Unity.
Я описал то, что счёл неочевидным. То что в браузере один поток — общеизвестно.
Потому что в браузере яваскрипт однопоточный. Тут ничего не сделать.
В Unity можно использовать CoRoutine-ы. Хотя и с осторожностью — они используют тот же единственный поток, замедляя основной процесс.
12 ...
33

Information

Rating
Does not participate
Location
Ян де нова о-ва
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Software Architect
Lead
Java
Docker
React
TypeScript
Java Spring Framework
Designing application architecture
High-loaded systems