0
私はC#.netのソケットプログラミングに関連しています。だから、あなたがリストを送信する前に長さに関する情報を送信しない限り、受信者はListの長さと何バイトの情報を送るべきかについての情報を持っていません。明らかな解決策)。 しかし、バイナリフォーマッタを使用すると、サイズについて心配する必要はありません。と私はこのアプローチを使用して多くのデータを送信できますか?には何らかの制限がありますか?これによりデータを送受信することが制限されています。バイナリフォーマッタ(ソケットプログラミング、TCPクライアント)を使用した送受信のデータ制限。
これは一部であり、データ
TcpClient client = new System.Net.Sockets.TcpClient(serverip, serverport);
NetworkStream ns = client.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(ns, List<Object>);
を送信するためにこれがFYI
List<Object> list=(List<Object>)formatter.Deserialize(ns);
...データを受信するためのものである:私は2+万オブジェクト、その作業罰金などのためにそれをテストしています。 私はこれを使い続けるべきですか?
私の要件は、WebAPIが問題にならないように、LANと非常に制御された通信を使用して通信することです。 1つのパケットが失われたり破損したりすると、TCPプロトコルがそれを処理しないのですか? – Ateeq
@Ateeq、TCPは、いくつかのネットワークの問題を処理するために低レベルでいくつかの努力を払っていますが、最終的にはあなたのアプリケーションレベルでそれを処理する必要があります。あなたのケースでは、パケット全体を送受信できなかったことを意味します。 –
@Ateeq、ソケットの使用につながる通信のどのようなコントロールが必要ですか? –