如何使用TCP套接字将变量/对象/数据从一个程序发送到局域网中的另一个程序?特别是,我想发送像TreeNode和ListViewItem这样的变量。我怎样才能做到这一点?发件人程序如何将变量转换为可以发送给局域网中另一个程序的表单?接收器程序如何将发送的变量恢复为原始形式?如何发送TCP套接字中的变量/对象?
编辑:在不再可用的网站上找到以下代码并要求删除该链接。
// Convert an object to a byte array
private byte[] ObjectToByteArray(Object obj)
{
if (obj == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, obj);
return ms.ToArray();
}
// Convert a byte array to an Object
private Object ByteArrayToObject(byte[] arrBytes)
{
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
memStream.Write(arrBytes, 0, arrBytes.Length);
memStream.Seek(0, SeekOrigin.Begin);
Object obj = (Object)binForm.Deserialize(memStream);
return obj;
}
这被称为*序列化*。你应该阅读它。 – svick 2012-02-22 16:45:32
请勿将“C#”等内容添加到标题的末尾。这就是标签的用途。 – 2012-02-22 16:57:41
@JohnSaunders对不起。我只是在具体。不知道我做得太过分了。 – Xel 2012-02-22 17:54:55