unity udp接收
时间: 2023-09-27 18:04:03 浏览: 111
udp接收数据
5星 · 资源好评率100%
在Unity中使用UDP接收数据需要使用Unity的Network API。以下是一个简单的示例:
```csharp
using UnityEngine;
using System.Net;
using System.Net.Sockets;
public class UDPReceiver : MonoBehaviour
{
UdpClient udpClient;
void Start()
{
// 创建UDP客户端
udpClient = new UdpClient(12345);
// 开始异步接收数据
udpClient.BeginReceive(new System.AsyncCallback(OnReceived), null);
}
void OnReceived(System.IAsyncResult result)
{
// 获取数据包和发送方的IP地址和端口号
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] receivedBytes = udpClient.EndReceive(result, ref remoteEndPoint);
// 将数据转换为字符串
string receivedString = System.Text.Encoding.ASCII.GetString(receivedBytes);
// 在控制台输出接收到的字符串
Debug.Log("Received: " + receivedString);
// 继续异步接收数据
udpClient.BeginReceive(new System.AsyncCallback(OnReceived), null);
}
void OnDestroy()
{
// 关闭UDP客户端
udpClient.Close();
}
}
```
上面的示例创建了一个UDP客户端并开始异步接收数据。当接收到数据时,将数据转换为字符串并在控制台输出。最后,当组件被销毁时,关闭UDP客户端。
阅读全文