麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

【SimpleMsgPack.NET】發布一個msgpack協議C#版本的解析開源庫

2019-11-17 02:42:17
字體:
來源:轉載
供稿:網友

【SimpleMsgPack.NET】發布一個msgpack協議C#版本的解析開源庫

這兩年一直都關注這IOCP在網絡通信這方面的應用,當然數據的傳遞是經常需要的。今年接觸了MsgPack格式,發現他用來做傳輸時數據打包真是太爽了。因為他可以直接打包二進制數據,不需要任何的轉換。有人會說自己打包也不是什么難事,是的,沒錯。但是有標準的格式協議,為什么不直接使用。看了下msgpack的協議格式,壓縮基本上做到了最大化。http://msgpack.org可以了解下它的協議格式。

我的主要工作是Delphi進行開發,Delphi里面有qmsgpack.自己也寫了一個simpleMsgPack用起來都非常舒服,這陣子晚上想看看C#,畢竟C#用來做客戶端也是不錯的。用了下C#版本的MsgPack 解析,實在是不太習慣,可能我是一個Delphier。后來決定自己寫一個SimpleMsgPack的NET版本。現在基本成型。后續還會繼續添加一些新的東西。可以上git上面直接下載,也可以NuGet中查找到輸入SimpleMsgPack可以進行下載。源碼請到github上面下載。如果有什么bug,請一定要聯系我,我會盡快安排修復。

編譯環境:

VS2013 NET Framework 4.5 (在vs2010下面也是可以編譯的, 其他版本沒做測試)

開源地址:https://github.com/ymofen/SimpleMsgPack.Net

寫了點簡單的測試代碼。應該大家都看的明白。

MsgPack msgpack = new MsgPack();    msgpack.ForcePathObject("p.name").AsString = "張三";    msgpack.ForcePathObject("p.age").AsInteger = 25;    msgpack.ForcePathObject("p.datas").AsArray.Add(90);    msgpack.ForcePathObject("p.datas").AsArray.Add(80);    msgpack.ForcePathObject("p.datas").AsArray.Add("李四");    msgpack.ForcePathObject("p.datas").AsArray.Add(3.1415926);    // pack file    msgpack.ForcePathObject("p.filedata").LoadFileAsBytes("C://a.png");    // pack msgPack binary    byte[] packData = msgpack.Encode2Bytes();    MsgPack unpack_msgpack = new MsgPack();    // unpack msgpack    unpack_msgpack.DecodeFromBytes(packData);    System.Console.WriteLine("name:{0}, age:{1}",          unpack_msgpack.ForcePathObject("p.name").AsString,          unpack_msgpack.ForcePathObject("p.age").AsInteger);    Console.WriteLine("==================================");    System.Console.WriteLine("use index PRoperty, Length{0}:{1}",          unpack_msgpack.ForcePathObject("p.datas").AsArray.Length,          unpack_msgpack.ForcePathObject("p.datas").AsArray[0].AsString          );    Console.WriteLine("==================================");    Console.WriteLine("use foreach statement:");    foreach (MsgPack item in unpack_msgpack.ForcePathObject("p.datas"))    {        Console.WriteLine(item.AsString);    }    // unpack filedata     unpack_msgpack.ForcePathObject("p.filedata").SaveBytesToFile("C://b.png");    Console.Read();

輸出的結果:

image

看看是不是適合你。目前還是在測試當中,當然也沒有用到具體的項目中。不過后面會慢慢用起來,我準備用來做通信時的數據打包。如果你發現bug,請聯系我。

QQ:185511468, email:[email protected] 也可以進群[程序員之家 146605007]@我


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久男人天堂 | 草莓福利社区在线 | 色视频在线 | 九九热精品视频在线免费观看 | 黄污网站在线观看 | 一区二区三区日韩在线观看 | 国产精品wwww| 毛片成人网| china对白普通话xxxx | 成人三级在线播放 | 亚洲免费毛片基地 | 日本黄色大片免费观看 | 久久国产精品电影 | 免费毛片小视频 | 久久亚洲精选 | 黄网站免费观看视频 | 永久免费av在线 | 性 毛片| 九九热在线视频观看 | 国产午夜精品久久久久久免费视 | 久久亚洲春色中文字幕久久 | 欧美14一15sex性hd | 国产一区二区欧美 | 免费国产成人高清在线看软件 | 国产亚洲精品久久久久久久 | 羞羞视频在线免费 | 国产免费www| 久久久久久久久久亚洲精品 | 蜜桃一本色道久久综合亚洲精品冫 | 免费一级毛片电影 | h色网站免费观看 | 久久精品国产久精国产 | 久久在线 | 黄色网址免费在线播放 | 欧美视频一区二区三区在线观看 | 久草视频国产在线 | 72pao成人国产永久免费视频 | 亚洲成人免费视频在线 | 亚洲精品动漫在线观看 | sese综合| 成人短视频在线观看免费 |