私のコードで奇妙な問題が発生しましたが、送信側以外はすべてうまく動作します。パケットを送信しようとすると、実際には多くの空のパケットが送信され、その理由がわかりません。デバッガでチェックして、SendPacket関数が1回だけ呼び出されています。みんなありがとう!C#非同期ソケットの問題
は
1
A
答えて
0
私が見る何を:あなたはOnPacketRecv
経由SendPacket
にSocket.BeginSend()
に配列(loginOutBuffer
)に合格していますが、OnPacketRecv
で、すぐ後に、それをクリアします。
Socket.BeginSend()
これを渡すと配列のコピーが作成されないため、現在消去されている配列のデータが送信され、結果としてゼロが出力されます。
+0
それは本当ですが、それは主要な問題自体に関連していません。問題は、私がサーバーアプリケーションで多くの空のパケットを受信するということです。まだ助けてくれてありがとう! –
+0
あなたの質問に私のコメントを見てください。 –
関連する問題
- 1. 非同期UDPソケットの問題
- 2. 非同期ソケットと同期ソケット
- 3. 非同期ソケットと同期
- 4. node.js非同期の問題?
- 5. 非同期プログラミング問題
- 6. node.js非同期初期化の問題
- 7. 非同期ソケット接続
- 8. Luaソケット - 非同期イベント
- 9. jQuery非同期ファイルアップロードの問題
- 10. 非同期Webサービスの問題
- 11. sql非同期クエリの問題
- 12. javasctipt - 戻り値の非同期問題
- 13. 非同期読み込みの問題
- 14. System.Data.SQLite非同期ロードの問題
- 15. Angular2非同期データの問題
- 16. タイマの非同期HttpWebRequest問題
- 17. 非同期並列ノードjsの問題
- 18. GoogleカレンダーAPI非同期問題の客観的なC(iOS)
- 19. Win32非同期ソケットの基本的な質問
- 20. 問題をonProgressUpdateに渡す問題 - 非同期メソッド
- 21. C++非同期セグメントエラー
- 22. C++非同期ネットワークプログラミング
- 23. 同期の問題
- 24. ソケットを閉じると非同期ソケットがクラッシュします
- 25. C++ 11の非同期コンストラクタ
- 26. Cの非同期ブロードキャストクライアント#
- 27. NSURLConnection同期問題
- 28. C#非同期サーバーソケット定義?
- 29. C#非同期処理オペレーションエラー
- 30. C#5と非同期タイマー
「空パケット」とはどういう意味ですか?どのようにサーバー側で読んでいるのですか? TCPはストリームプロトコルであり、パケットで「考える」ことはありません。受信者は、単一の送信からすべてのデータを取得するために受信への複数の呼び出しを必要とする場合があります。同様に、複数の送信はNagleのため単一の受信に終わる可能性があります。空の配列(つまりすべてゼロ)を送信しています。あなたのサーバーがそれを奇妙に解釈したり、小さなバッファでReceiveを呼び出すと、 "複数のパケット"のように見えます。 –
うわー。すべてのこれらの時間後..問題は、次の行にありました。 Client.BeginSend(buff、0、buff.length、SocketFlags.None、 新しいAsyncCallback(SendData)、クライアント); サーバー側のアプリケーションに8192バイトを送信していました。私はそんなにばかげています。どうもありがとう! –
私はあなたがおそらくそれを見逃しているのを見ることができますが、以前の私のコメントは、2番目の**時間です。 "とにかく。" –