【探索发现】winform 网络传输时候封包与解包心得
2011-05-29 08:44
204 查看
我这个不是一个很好的传输格式,希望可以得到各位的指点。
第一个字节代表:类型
第二个字节开始20字节代表:用户名
第21个字节开始20字节代表:密码
最后效果:
Demo:http://files.cnblogs.com/--Sam--/NetDataTranFormat.rar
第一个字节代表:类型
第二个字节开始20字节代表:用户名
第21个字节开始20字节代表:密码
private void button1_Click(object sender, EventArgs e) { byte[] package = Pack(); Unpack(package); } static int userlength = 20; static int passlength = 20; //打包 private byte[] Pack() { byte[] buffer = new byte[1024]; buffer[0] = 1;//类型 byte[] username = Encoding.UTF8.GetBytes("Sam");//有长度限制 byte[] userpass = Encoding.UTF8.GetBytes("Password");//有长度限制 Array.Copy(username, 0, buffer, 1, username.Length); Array.Copy(userpass, 0, buffer, 1 + userlength, userpass.Length); return buffer; } //解包 private void Unpack(byte[] buffer) { int type = buffer[0]; byte[] username = new byte[userlength]; byte[] userpass = new byte[passlength]; Array.Copy(buffer, 1, username, 0, userlength); Array.Copy(buffer, 1 + userlength, userpass, 0, passlength); string strName = Encoding.UTF8.GetString(username).TrimEnd('\0'); string strPass = Encoding.UTF8.GetString(userpass).TrimEnd('\0'); string strInfo = string.Format("类型: {0} 用户名:{1} 密码:{2}", type.ToString(), strName, strPass); MessageBox.Show(strInfo, "解包完成"); }
最后效果:
Demo:http://files.cnblogs.com/--Sam--/NetDataTranFormat.rar
相关文章推荐
- (转)【探索发现】winform 网络传输时候封包与解包心得
- [原创]C#之探索发现:在WinForm上写的一个模拟分页小程序
- BaseAdapter中重写getview的心得以及发现convertView回收的机制
- myeclipse常用快捷键(翻电脑的时候发现的,忘记哪里来的了)
- 今天在给同事改程序的时候,发现了java中Runtime
- Eclipse自动补全设置与Eclipse源代码下载 以前使用VisualStudio和Sublime写代码的时候有很完善的代码提示,但是最近开始使用Eclipse弄JAVA的时候发现它的代码提示不
- 心得:产品经理的作用,就是定方向、定义功能、探索和解决市场需求。项目经理只是盯进度而已
- [android盈利模式探索]心得分享--Android开发、盈利攻略
- Spring MVC 文件下载时候 发现IE不支持
- 最近在做即时通讯,能收到消息的通知,问题是在聊天界面里如何在收到消息的时候刷新聊天listview,找遍sdk也没发现
- XSL与C#(Winform)心得
- 测试的时候发现的问题
- ActiveReport使用心得(七):用户使用非ie浏览器的时候
- 谈一下我学习栈的时候一点点心得
- tar解包的时候如何exclude一些目录
- 六级词汇总结( 整理自己的大学时候的资料发现的好东东!!~~)
- Winform下的地图开发控件(GMap.NET)使用心得之二
- 绑定gridview的时候,如果发现某条记录满足一定条件,那么改行记录背景色变成红色
- 今天碰到一个poi解析excel文件的时候报错, 后来发现是这个excel文件单元格里面有公式。删除公式问题解决!
- 安装MYSQL遇到的问题后来无意发现是卸载的时候没有卸载完全导致,下面给出完整的卸载MySQL 5.1的卸载方法: 1、控制面板里的增加删除程序内进行删除 2、删除MySQL文件夹下的