Почему TCP-соединение не работает в эмуляторе HoloLens (1-го поколения)? - PullRequest
0 голосов
/ 10 января 2020

Я искал весь Inte rnet в поисках информации, но это не помогло. Основная проблема: Я не могу подключиться из эмулятора HoloLens к своему серверу.

Как работает мой код:

Я запускаю сервер. Он ждет соединения. Когда клиент подключается к серверу, он отправляет сообщение. В данном случае это «Это сообщение от одного из ваших клиентов». server_1

server_2

Что на данный момент:

  1. Сервер который открывается по IP-адресу, рекомендованному в этой статье.

    System.Net.IPAddress ipAddr = System.Net.IPAddress.Parse("192.168.37.97");
    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);
    Socket sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    
  2. Я взял IP-адреса из cmd , где я написал «ipconfig» . ipconfig

  3. Если говорить о параметрах эмулятора HoloLens, то вот оно. HololensIP


Вы можете видеть, что IP-адреса разные в эмуляторе и в 'ipconfig'. Попробуем поместить эмулятор ip в адрес сервера (на всякий случай проверим). exeption

Как видите, появляется ошибка. "The requested address is not valid in its context".

И что мне нужно?

Если есть какая-то точная пошаговая инструкция по подключению эмулятора к моему серверу, буду очень признателен.

Ниже я оставлю ссылки, которые помогли многим, но не мне. (Может быть потому, что я младший)

Ссылки:

1) https://forums.hololens.com/discussion/309/emulator-and-localhost

2) https://forums.hololens.com/discussion/comment/934/#Comment_934

3) https://docs.microsoft.com/en-us/windows/uwp/networking/sockets ( Примечание: Из-за сетевой изоляции Windows не разрешает устанавливать сокетное соединение. .)

4) https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/about/

5) Эмулятор HoloLens подключается к серверу в локальной сети

1 Ответ

0 голосов
/ 24 января 2020

Эмулятор HoloLens может подключаться к серверу на вашем хосте P C (или к любому другому устройству, доступному в сети, к которому подключен ваш хост P C), пока сервер прослушивает IP-адрес хоста, не IP-адрес эмулятора, а межсетевой экран вашего хоста настроен для разрешения входящих подключений по выбранному вами порту. Например, если ваш хост 10.0.0.1, ваш эмулятор 192.168.0.1 и вы хотите использовать порт 8080, сервер должен прослушивать 10.0.0.1:8080, брандмауэр должен быть настроен для разрешения входящих подключений через порт 8080 и клиент должен подключиться к этому адресу и порту.

...