さて、TCP を動作させたところ、「ネットワーク フレンドリー」にするためにバイナリ フォーマッタが使用されていることに気付きました。
とにかく、コードは次のようになります。
クライアント
Serializer.Serialize(tcpcap.GetStream(), u);
サーバ
byte[] u = Serializer.Deserialize<byte[]>(tt1.GetStream());
u は両方で同じではありません。名前は同じですが、u は両方の部分でバイト配列です。
そして、うまくいきません。
それは動作します:
(byte[])b.Deserialize(tt1.GetStream());
b.Serialize(tcpcap.GetStream(), u);
ここで、b は新しい System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); です。
動作しない理由はおそらく明らかですが、シリアライゼーションとは何かをよく知らないので、私にとってはそれほど明白ではありません。