gpt4 book ai didi

sockets - Hololens UDP服务器从不接收消息

转载 作者:行者123 更新时间:2023-12-03 11:55:08 26 4
gpt4 key购买 nike

我正在统一制作一个Hololens应用程序,该应用程序可以启动udp服务器。这个等待来自外部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();
});

服务器运行无问题,它等待来自服务器的消息。当启动客户端时,我收到确认消息已成功发送的消息。但是,服务器端永远不会收到客户端的消息,控制台中不会出现错误,就像未发送一样。我真的不知道在哪里找到解决方案...
非常感谢你的帮助。

最佳答案

  • Internet客户端/服务器功能适用于Internet,但不适用于本地网络。
  • 专用客户端/服务器功能适用于本地网络,但不适用于Internet。

  • 您可能至少需要第二个。
    在“WSA平台的播放器设置”中,向下滚动到“功能”面板,选中所需的功能,然后Unity将自动生成 list 文件。在“功能”面板本身中也向下滚动以获取更多信息。

    关于sockets - Hololens UDP服务器从不接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44034118/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com