Соедините два устройства с помощью веб-сокетов - PullRequest
0 голосов
/ 18 мая 2018

Я новичок в веб-сокетах, извините, если ответ на мой вопрос слишком очевиден.

Я использую websocket-sharp , поскольку моя цель - создать клиент Unity3D, который подключается к серверу.(На самом деле я хочу построить его для платформы webGL, поэтому клиент будет написан на javascript).На данный момент и клиент, и сервер написаны на C #.

При компиляции на localhost он отлично работает, в том числе с несколькими клиентами, а также через безопасное соединение с использованием самозаверяющего сертификата.Это также работает нормально, если клиент подключается к эхо-серверу (ws: //echo.websocket.org).

Итак, я двинулся вперед и попытался соединить два моих компьютера.Идея состояла в том, чтобы запустить сервер в Linux и запустить клиент на Mac, поэтому я заменил «localhost» на IP linux как для кода клиента, так и для сервера.Когда я выполняю его, Unity (клиент) продолжает говорить мне «Не локальный IP-адрес», и он не подключается.

Я думал, что это может быть проблема с брандмауэром, и что сначала я должен открыть используемый порт ... Так ли это?Если это так, как я могу открыть конкретный порт на Mac и Linux?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Наконец я решил это.Это была проблема с кодом сервера, я не знаю, где была ошибка.Вместо того, чтобы использовать мой сервер c #, я использовал Node.js, и он работает нормально.Я могу подключиться с других компьютеров без проблем.

0 голосов
/ 18 мая 2018

Проверьте привязки.

WebSocketServer (System.Net.IPAddress.Any, порт);

Проверьте, можете ли вы подключиться к ip: порту.

iptables -L для вывода списка настроенных правил в Linux.

...