如何使用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