webgl + websocket

Сеть в Unity3D

webgl + websocket

Сообщение danquimby 30 окт 2019, 10:26

Добрый день у меня есть задача
перевод клиента с флеш на юнити(webgl) но столкнулся с проблемой что чат
который я реализовал не работает через простые socket (через wss)
можете посоветовать библиотеку для работы с закрытым подключением (нашел только websocket-sharp) но она старая (возможно есть альтернатива)
Пока компьютер еще не научился самостоятельно мыслить, доверять ему можно
Аватара пользователя
danquimby
UNIт
 
Сообщения: 54
Зарегистрирован: 29 янв 2015, 21:33
Откуда: Иваново
Skype: danquimby
  • Сайт

Re: webgl + websocket

Сообщение Saltant 02 дек 2019, 19:18

SignalR
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: webgl + websocket

Сообщение iCSdeveloper 19 дек 2019, 19:34

как раз занимаюсь похожей задачей. Проблема в том что сетевая подсистема Unity для компиляции под платформу WebGL не работает.
пока что нашёл нетривиальный вариант - использовать HTTP и HTTP POST из C# скрипта для обмена текстом между клиентами и сервером.
Всё работает. Это конечно не совсем realtime и TCP/IP но подход имеющий право на жизнь. Никаких модулей-плугинов не требуется. C# ;-)
iCSdeveloper
UNIт
 
Сообщения: 69
Зарегистрирован: 24 июн 2016, 19:07
  • ICQ

Re: webgl + websocket

Сообщение Saltant 19 дек 2019, 20:43

Это называется WebAPI, даже для современной браузерной игры этот подход не правильный. Нужно использовать сокеты.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: webgl + websocket

Сообщение iCSdeveloper 20 дек 2019, 09:26

Saltant писал(а):Это называется WebAPI, даже для современной браузерной игры этот подход не правильный. Нужно использовать сокеты.


А какой вариант ты предлагаешь? Сокеты отлично работают на Windows/Linux/MAC/Android/iOS клиентах. Но при сборке из Unity3D проекта под платформу WebGL - не работают. Есть мысли как сделать чтобы заработали?

PS: повозился немного с node.js - то ещё извращение. В итоге запустил нечто похожее на сервер. При ближайшем рассмотрении оно сделало почти то же самое что делает любой сервис, например telnet. Мне проще было такое написать на C или C#, там действительно всё ясно понятно с TCP/IP sockets. Но это только серверная часть, это не решает проблему клиента созданного на Unity и собранного под HTML5/WebGL.

PPS: есть у кого-то работающий пример Unity проекта под WebGL с node.js сокетами типа websockets клиентом игры и сервером на node.js или telnet?
iCSdeveloper
UNIт
 
Сообщения: 69
Зарегистрирован: 24 июн 2016, 19:07
  • ICQ

Re: webgl + websocket

Сообщение IDoNotExist 20 дек 2019, 09:48

iCSdeveloper писал(а):
Saltant писал(а):Это называется WebAPI, даже для современной браузерной игры этот подход не правильный. Нужно использовать сокеты.


А какой вариант ты предлагаешь? Сокеты отлично работают на Windows/Linux/MAC/Android/iOS клиентах. Но при сборке из Unity3D проекта под платформу WebGL - не работают. Есть мысли как сделать чтобы заработали?

PS: повозился немного с node.js - то ещё извращение. В итоге запустил нечто похожее на сервер. При ближайшем рассмотрении оно сделало почти то же самое что делает любой сервис, например telnet. Мне проще было такое написать на C или C#, там действительно всё ясно понятно с TCP/IP sockets. Но это только серверная часть, это не решает проблему клиента созданного на Unity и собранного под HTML5/WebGL.

PPS: есть у кого-то работающий пример Unity проекта под WebGL с node.js сокетами типа websockets клиентом игры и сервером на node.js или telnet?

Когда то давно поднимал рабочий сервер под Websocket на netty, для клиента использовал Simple Web Sockets for Unity WebGL, который ныне устарел и выпилен из стора, всё работало, на этой системе крутилось два рабочих проекта.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: webgl + websocket

Сообщение iCSdeveloper 20 дек 2019, 10:04

IDoNotExist писал(а):для клиента использовал Simple Web Sockets for Unity WebGL, который ныне устарел и выпилен из стора, всё работало


о том и разговор, что никакой альтернативы нет. Даже тот модуль который был для WebGL, отсуствует, и его невозможно купить. Из официальной объяснительной Unity по этому поводу:

Simple Web Sockets for Unity WebGL - Unfortunately, Simple Web Sockets for Unity WebGL is no longer available.
This package has been deprecated from the Asset Store. This means that new purchases of the package are not allowed and that only users who already purchased or downloaded the package before it was deprecated, are allowed to download it. In most cases, package deprecation happens because the publisher is unable or unwilling to support the package anymore. We suggest looking for alternative packages or contacting the publisher directly.

то есть похоже что его никто не поддерживал, никто не отвечал на письма, и поэтому его оттуда убрали. И похоже, вариантов нет. А может в связи с этим сделаешь доброе дело, выложишь куданибудь на Google Drive?
iCSdeveloper
UNIт
 
Сообщения: 69
Зарегистрирован: 24 июн 2016, 19:07
  • ICQ

Re: webgl + websocket

Сообщение IDoNotExist 20 дек 2019, 15:43

Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: webgl + websocket

Сообщение seaman 20 дек 2019, 17:34

то есть похоже что его никто не поддерживал, никто не отвечал на письма, и поэтому его оттуда убрали.

Вообще то это учебный проект Юнитеков
Изображение
Почему его убрали - неведомо.

В Сторе есть еще один проект, который по описанию работает на WebGL через сокеты:
https://assetstore.unity.com/packages/t ... work-71391
Networking API: framework is based on a thin layer of abstraction on top of UDP/RUDP/ Websocket protocols. It makes communication between your servers and clients a breeze. You can start as many socket servers and clients as you want.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: webgl + websocket

Сообщение seaman 20 дек 2019, 19:44

Также можно посмотреть на гитхабе. Типа:
https://github.com/jirihybek/unity-websocket-webgl
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: webgl + websocket

Сообщение Saltant 21 дек 2019, 00:22

Ваще конечно странно что нельзя в WebGL юзать библиотеки типа SignalR если это действительно так. Потому что через сигнал делать нужные действия прям ваще топчик для веба. Ну а с другой стороны, разве кто то еще играет в браузерные игры? я чет такого давно не наблюдаю, даж уже и рекламу таких игр нигде не встречал.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: webgl + websocket

Сообщение iCSdeveloper 25 дек 2019, 13:56



Спасибо, дорогой друг! ты очень многим помог. А теперь... бонус! вопрос на засыпку, как сделать под WebGL приложение двухстороннего видеочата с вебкамеры на чистом WebGL Websockets и JavaScript/HTML5 ?
iCSdeveloper
UNIт
 
Сообщения: 69
Зарегистрирован: 24 июн 2016, 19:07
  • ICQ

Re: webgl + websocket

Сообщение moti 31 мар 2020, 05:44

Спасибо за такое решение как master-server-framework :-bd

На VPS с внешним ip работать будет простая игра с поддержкой multiplayer ?
У кого есть готовая простая игра, которая с данной реализацией работает на vps с внешним ip ?

Спасибо заранее
your new motion vision
Аватара пользователя
moti
UNIт
 
Сообщения: 76
Зарегистрирован: 05 авг 2019, 14:10


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3