问题是在做socket通信程序遇到的:
报文内容主要是struct构成的,现在已经通过StructToBytes方法把报文转化成byte[],并且已经在客户端接收到了,现在我需要分析byte[]内容,取出比如说其中第15和16字节的值。要用哪个函数呢?代码怎么写呢??谢谢!有结果了最快晚上结贴!
报文内容主要是struct构成的,现在已经通过StructToBytes方法把报文转化成byte[],并且已经在客户端接收到了,现在我需要分析byte[]内容,取出比如说其中第15和16字节的值。要用哪个函数呢?代码怎么写呢??谢谢!有结果了最快晚上结贴!
{
public uint SourceIP; //发方地址
public uint RecIP; //收方地址
public uint SourcePort; //发方端口号
public uint RecPort; //收方端口号
public ushort SourceID; //发方id
public ushort RecID; //收方id
public uint PacketType; //报文类型
public ushort PacketLength; //报文长度
}其中发方初始化:
SourceIP = 0xBC01040A;
RecIP = 0xBC010401;
SourcePort = 1111;
RecPort = 1111;
SourceID = 0001;
RecID = 0002;
PacketType = 03;
PacketLength = 40;
最后收放得到:
315418317831541831691111111112340
如果我想根据得到的数据分析出PacketType(红色部分) 是03;应该怎么写呢???按照#1方法byte[*],这个*应该是多少呢,呵呵 基础没学好!
顺便问问我想让收到的数据里SourceIP和RecIP还是十六进制的0xBC01040A和0xBC010401而不是3154183178和3154183169应该怎么做呢
return str;
把收到的10进制转成16进制的就行了至于你第一个问题 没看太明白