C# 写网络通信程序时如何取得协议包的byte[]字节数组呢?
#pragma   pack(1) 
 typedef   struct   packet 
 { 
 	char               command_length[4]; 
 	char         	   category[2]; 
 	char	   sub_command[2]; 
 	char	   opcode[4]; 
 	char               command_status[4]; 
 	char	   sou_addr[6]; 
 	char               des_addr[6]; 
 	char               seq_no[10]; 
 	uint	   datalen; 
 	char	   reserve[1]; 
 }pack; 
 #pragma   pack() 
 在vc中直接给packet   结构体的成员变量付值后就可以利用指针取sizeof(packet)大小的字节数组给   
 socket发送了,在C#中有什么针对这种协议直接装化成byte[]的方法呢? 
 请大侠帮忙给个代码示例,谢谢!
------解决方案--------------------string mstr =  "aaa "; 
 byte[] mbyte = Encoding.ASCII.GetBytes(mstr);
------解决方案--------------------这个做法不行。   
 用指针吧,   
 System.Runtime.InteropServices.Marshal   
 public static void StructureToPtr ( System.Object structure , System.IntPtr ptr , System.Boolean fDeleteOld )   
 public static System.Object PtrToStructure ( System.IntPtr ptr , System.Type structureType )