私は、udpサーバーを起動する1つのHololensアプリケーションを作成しています。これは、外部のudpクライアントからのメッセージを待ちます。ここでは、サーバー側は次のとおりです。Hololens UDPサーバーはメッセージを受信しません
using UnityEngine;
using System;
using System.IO;
#if !UNITY_EDITOR
using Windows.Networking.Sockets;
#endif
public class server : MonoBehaviour
{
#if !UNITY_EDITOR
DatagramSocket socket;
#endif
#if UNITY_EDITOR
void Start()
{
}
#endif
#if !UNITY_EDITOR
// use this for initialization
async void Start()
{
socket = new DatagramSocket();
socket.MessageReceived += Socket_MessageReceived;
try
{
await socket.BindEndpointAsync(null, "24017");
}
catch (Exception e)
{
Debug.Log(e.ToString());
Debug.Log(SocketError.GetStatus(e.HResult).ToString());
return;
}
}
#endif
// Update is called once per frame
void Update()
{
}
#if !UNITY_EDITOR
private async void Socket_MessageReceived(Windows.Networking.Sockets.DatagramSocket sender,
Windows.Networking.Sockets.DatagramSocketMessageReceivedEventArgs args)
{
//Read the message that was received from the UDP echo client.
Stream streamIn = args.GetDataStream().AsStreamForRead();
StreamReader reader = new StreamReader(streamIn);
string message = await reader.ReadLineAsync();
Debug.Log("MESSAGE: " + message);
}
#endif
}
そしてnodejsクライアント側:サーバーは問題なく動作します
var PORT = 24017;
var HOST = '192.168.1.111';
var dgram = require('dgram');
var message = new Buffer('My KungFu is Good!\r\n');
var client = dgram.createSocket('udp4');
client.send(message, 0, message.length, PORT, HOST, function(err, bytes) {
if (err) throw err;
console.log('UDP message sent to ' + HOST +':'+ PORT);
client.close();
});
、それはサーバからのメッセージを待ちます。クライアントを起動すると、メッセージが正常に送信されたことを確認するメッセージが表示されます。しかし、サーバー側はクライアントのメッセージを受け取ることはありません。私は実際にどこに解決策を見つけるか分からない... あなたの助けをたくさんありがとう。
Hololens UWPアプリケーションの機能設定とは何ですか?インターネット(クライアント)機能を有効にする必要があります。 Package.appxmanifestファイル –
をチェックしてください。私は "プライベートネットワーク(クライアントとサーバー)"をチェックしましたが、手動でマニフェストファイルを編集する必要がありますか?ありがとう! – Silvering
これを解決しましたか?私は完璧に動作し、ネットワーク上でメッセージを送信するUDPサーバー(UWP)を持っています。しかし、ホロレンズは何も拾わない。これは、ファイアウォールによってブロックされているかのようです。私もWiresharkで確認して、すべての作品。愚かなホロレンスを除いて。 – sebrock