В течение нескольких дней я пытался внедрить простой сервер на HoloLens для получения HTTP-пакетов, отправляемых со смарт-объекта в локальной сети.
Пока мой код выглядит следующим (я сообщаю только о частикода, который на самом деле работает на HoloLens): `
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEngine.Networking;
using System.Net.Sockets;
using System.Net;
using System.Threading;
using System.Text;
using UnityEngine.UI;
#if !UNITY_EDITOR
using Windows.Networking;
using Windows.Networking.Sockets;
using Windows.Storage.Streams;
using Windows.Networking.Connectivity;
#endif
public class DolphinManager : MonoBehaviour
{
private static string holoLensIpAddr = "192.168.0.147";
private static int holoLensPort = 12345;
#if UNITY_EDITOR
private HttpListener _listener;
#endif
#if !UNITY_EDITOR
private StreamReader reader;
private StreamSocketListener listener;
#endif
void Start()
{
#if UNITY_EDITOR
Invoke("InitializeUnityServer", 4f);
#else
Invoke("InitializeUWPServer", 4f);
#endif
}
#if !UNITY_EDITOR
private async void InitializeUWPServer()
{
try
{
listener = new StreamSocketListener();
serverHost = new Windows.Networking.HostName(anyIp);
listener.ConnectionReceived += Listener_ConnectionReceived;
listener.Control.KeepAlive = false;
await listener.BindServiceNameAsync(holoLensPort.ToString());
} catch(Exception e) { Debug.Log(e.Message); }
}
#endif
#if !UNITY_EDITOR
private async void Listener_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
Debug.log("message received!");
}
Сервер запускается правильно, но когда я пытаюсь отправить пакет с моего смарт-объекта, Listener_ConnectionReceived () не запускается,
Я уже установил возможность PrivateNetworkClientServer в манифесте приложения.
Что может быть не так?Заранее спасибо!