【发布时间】:2012-11-27 15:41:13
【问题描述】:
我需要将浮动的小端转换为大端并通过 UDP 发送它们。截断的代码接收坐标数据并将其分配给浮点数组,然后转换为字节数据数组,最后应该通过 UDP 连接发送,但它不起作用!
public void SendUDP()
{
try
{
lockObj.EnterReadLock();
try
{
foreach(CoordData datam in coordDataList)
{
float[] dfv = {datam.X, datam.Y, datam.Z, datam.Alpha, datam.Theta, datam.Phi};
/*
data = BitConverter.GetBytes(datam.Y);
data = BitConverter.GetBytes(datam.Z);
data = BitConverter.GetBytes(datam.Alpha);
data = BitConverter.GetBytes(datam.Theta);
data = BitConverter.GetBytes(datam.Phi);
*/
data = BitConverter.GetBytes(dfv);
Array.Reverse(data);
}
client.Send(data, data.Length, remoteEndPoint);
}
finally
{
lockObj.ExitReadLock();
}
}
catch (Exception err)
{
print(err.ToString());
}
}
【问题讨论】:
-
here的答案有什么问题?
-
有一个内置函数可以做到这一点......我会用那个。
-
@L.B,没有字节序
-
@TimTaker 因为如果你使用一些序列化程序,它会为你处理所有这些东西。
-
@L.B,但是我的终点是 Udp 口袋发送无法反序列化我的序列化,是否可以使用无法反序列化的序列化程序?
标签: c# arrays byte endianness