unity 通过TCp发送十六进制 55 AA AA AA AA AA 03 06 80 00 00 00 00 00 30 16数据
时间: 2023-08-22 18:00:31 浏览: 166
C#TCP 通信(TCP发送16进制)
5星 · 资源好评率100%
你可以使用Unity的NetworkStream类来通过TCP发送十六进制数据。以下是一个示例代码片段,演示如何将十六进制字符串转换为字节数组并发送:
```csharp
using System;
using System.Net.Sockets;
using UnityEngine;
public class TcpClientExample : MonoBehaviour
{
private TcpClient client;
private NetworkStream stream;
private void Start()
{
// 建立TCP连接
client = new TcpClient("服务器IP地址", 端口号);
stream = client.GetStream();
// 将十六进制字符串转换为字节数组
string hexString = "55 AA AA AA AA AA 03 06 80 00 00 00 00 00 30 16";
string[] hexValuesSplit = hexString.Split(' ');
byte[] bytes = new byte[hexValuesSplit.Length];
for (int i = 0; i < hexValuesSplit.Length; i++)
{
bytes[i] = Convert.ToByte(hexValuesSplit[i], 16);
}
// 发送字节数组
stream.Write(bytes, 0, bytes.Length);
// 关闭连接
stream.Close();
client.Close();
}
}
```
请将`服务器IP地址`和`端口号`替换为你要连接的服务器的信息。此代码段将从字符串中读取十六进制值,将其转换为对应的字节数组,并通过TCP连接发送。确保你在Unity项目中引用了`System.Net.Sockets`命名空间。
阅读全文