對(duì)于整Socket網(wǎng)絡(luò)通訊的人來說,packet這玩意一定不會(huì)陌生.但是要知道此類的字段字節(jié)總數(shù),使用Marshal.SizeOf,無疑是一個(gè)非常好的選擇.這樣可以大大節(jié)省你計(jì)算字節(jié)數(shù)的時(shí)間.
成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、成都網(wǎng)站制作、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。使用方法:Marshal.SizeOf( packet實(shí)例 )
using System; using System.Runtime.InteropServices; using CMD.com; namespace CMD { public class Program { static void Main(string[] args) { Myttee my = new Myttee(); my.bcc = 2; Console.WriteLine(Marshal.SizeOf(my)); Console.Read(); } } }
關(guān)于 Myttee:
//===================================================================== // // All right reserved // filename : Myttee // description : // // create by User at 2016/8/11 13:48:31 //===================================================================== using System.Runtime.InteropServices; namespace CMD.com { [StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Unicode)] internal struct Myttee { public ushort wcc; public ushort bcc; private ushort ccc; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] public char[] MachineID; public void Init() { this.ccc = 10; this.MachineID = new char[] {'1', '2', '3'}; } public ushort MKK { get { return 1; } } } }
其結(jié)果為26 . 3個(gè)ushort + 10個(gè)unicode字符 = 3X2 + 10X2 = 26
當(dāng)然 : 如果沒有 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] 特性
則使用Marshal.SizeOf就是一個(gè)坑 , 誰知道String占多少字節(jié)???
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。