DOBON.NET DOBON.NETプログラミング掲示板過去ログ

System::Net::Sockets::SocketのBeginConnectが成功した(接続できた)のか知りたい。

環境/言語:[OS : Windows 7 / 言語 : C++ / .NET Framework : 3.5]
分類:[.NET]

【解決したい問題】

お世話になります。

System::Net::Sockets::SocketのBeginConnectを使用してソケットの通信を確立させたいのですが、確立できたのかどうかのプロパティを探しても見当たりませんでした。

コールバック関数にオブジェクトを渡そうとしても上手くできませんでした。
接続ができた、または接続できているという確認を取る方法はありますでしょうか?

宜しくお願い致します。
んん?
BeginConnectに渡すAsyncCallbackで指定したコールバック内で、EndConnectメソッドを呼び出して接続要求処理を完了させる、のですが。
ここまでで、プロパティなど特に見る必要もないですよね?
ありがとうございます。

勝手に接続処理が完了するものだと思い、コールバック関数は接続処理が完了できた時に呼び出されるものと認識していました。

やりたかったことは、
接続済?→yes→送信/受信
     no →接続→成功?
           yes→接続済
           no →もう一度
のフローで、接続済かどうかを処理の要点にしていたので接続ができているかの確認をしたかったのです。

ご回答を参考にさせて頂くとEndConnect処理の後に、接続済とすればよさそうなのですが気になる点があり、
・コールバック関数が呼ばれるということはEndConnect処理をすると確実に接続を確立できるのか?
・BeginConnectで失敗したときは、どういう応答があるのか?
以上になります。

恐縮ですが、よろしくお願い致します。

DOBON.NET | プログラミング道 | プログラミング掲示板