クライアント/サーバーチャットアプリケーションを開発していて、クライアントウィンドウを閉じるときに次の例外が発生しました。トランスポート接続からデータを読み取ることができません:WSACancelBlockingCallの呼び出しによってブロック操作が中断されました
トランスポート接続からデータを読み取ることができません:WSACancelBlockingCallの呼び出しによってブロック操作が中断されました。
何が問題なのでしょうか?助けてください。
クライアント/サーバーチャットアプリケーションを開発していて、クライアントウィンドウを閉じるときに次の例外が発生しました。トランスポート接続からデータを読み取ることができません:WSACancelBlockingCallの呼び出しによってブロック操作が中断されました
トランスポート接続からデータを読み取ることができません:WSACancelBlockingCallの呼び出しによってブロック操作が中断されました。
何が問題なのでしょうか?助けてください。
読者またはライターのいずれかに.Close()を呼び出すと、基本となるストリームに呼び出すことができます。その後、そのリーダーまたはライターを使用しようとすると、このエラーが発生します。
結局のところ.Close();
が呼び出され、これらのリーダー/ライターを呼び出すスレッドも閉じます。検討中のthis同様のコードのように、問題は単に.Close();
ストリーム用と呼ばれる2つの場所で.Abort();
を追加することによって解決することができます。
swSender.Close();
srReceiver.Close();
tcpServer.Close();
thrMessaging.Abort(); // this needed to be added to solve the problem
このヘルプあなたのいずれかをしましたか?それとも、あなたはまだ問題を経験していますか? – mslot