TCPソケットを使用してLAN内の変数/オブジェクト/データを別のプログラムに送信するにはどうすればよいですか?特に、私はTreeNodeやListViewItemのような変数を送りたいと思っています。これどうやってするの?送信者プログラムは、その変数をLAN内の別のプログラムに送信できる形式に変換する方法を教えてください。レシーバプログラムは、送信された変数を元の形式に戻す方法を教えてください。TCPソケットで変数/オブジェクトを送信するには?
EDIT:使用できなくなったリンクを削除するように要求されたウェブサイトで、次のコードを見つけました。
// 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
タイトルの末尾に「C#」などを追加しないでください。それがタグのためのものです。 –
@JohnSaunders申し訳ありません。私はちょうど具体的であった。私はそれを過ぎていたことを知らなかった。 – Xel