Socket发送问题(问题发错区了悬赏是100分进来点链接)
发布网友
发布时间:2024-10-21 03:47
我来回答
共1个回答
热心网友
时间:2024-11-30 19:09
把类型名字放在最前面并存入流中(用BinaryWriter的write方法写到流里)再将此类型变量按序存入流中,并取出字节流发送。这样服务器只需将字节数组存到内存流里,并用BinaryReader的ReadString方法把名字读出来,用名字反射一个对象(System.Reflection.Assembly【非本地代码,需程序集dll】,或 Activator.CreateComInstanceFrom()),并依照前面的顺序在读出其所有数据,赋值给这个对象,就ok了,这就是发送对象的方法。
的确没有,
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
你试试这个类,这个只能将系统定义的一些对象序列化。
你需要发送的参数是个2维的字符串数组。应该也可以。
string[] ddd = { "asdf", "ajlksdjf" };
System.IO.MemoryStream m = new System.IO.MemoryStream();
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter ff = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
ff.Serialize(m, ddd);
m.Seek(0L, System.IO.SeekOrigin.Begin);
string[] nn = (string[])(ff.Deserialize(m));
字节数组m.GetBuffer();
转为内存流System.IO.MemoryStream m = new System.IO.MemoryStream(byte[] aa);