0

NetworkStream を介して別のマシンとの間でストリーミングする必要がある次のデータ構造またはレコードがあります。

  TRemoteRecord = record
    command:TRemoteCommand;
    status:TRemoteStatus;
    signame:string;
    rvalue:double;
    ivalue:LongInt;
  end;

これは、データ構造またはレコードをストリームに送信または書き込む方法です。

TheStream:NetworkStream;
 SignalClient:TcpClient;
 SignalServer:TcpServer;
 sb:TRemoteRecord;

 SignalClient.ConnectNew(LocalIPEdit.Text,Int32.Parse(ClientPort.Text));
 TheStream := new NetWorkStream(SignalClient.Connect.DataSocket);
 TheStream.Write(sb, 0 SizeOf(sb));

コンパイルすると、「これらのパラメーターを使用したオーバーロードされた書き込みはありません」という例外が発生します。

ネットワークストリームを介してデータ構造またはレコードをどのように送受信しますか?

ありがとう、

4

1 に答える 1

1

最初に Record を byte[] にシリアライズする必要があります。

これで始められます:

http://msdn.microsoft.com/en-us/library/ms752244.aspx

特定のタイプをシリアライズおよびデシリアライズする 2 つの方法を次に示します 。http://dooba.net/2009/07/02/c-sharp-and-serializing-byte-arrays/ (可変サイズ) とカスタム タイプ。]

于 2012-05-11T11:04:02.080 に答える