トップページ > 記事閲覧
GetNetWorkAcceptStateの戻り値について
名前:だんごさん 日時: 2013/08/28 19:12

GetNetWorkAcceptStateは他のマシンに接続されているかを確認する関数です。 また非同期接続時の接続確認でも使われますが、繋がるはずのない値で非同期接続した際にこの関数を呼び出すと、接続されるまで0を返すのはいいのですが、 接続に失敗しても0のままなので、接続中なのか接続失敗なのかの判断がつかない状態です。 一応しばらく待ちましたが、明らかに接続終わっているであろう時間になっても一向に0しか返ってこないので、 おそらく上記のように0しか返らないのではないかと判断しました。 もしこれ以外で判断する方法や、勘違いしている場合は教えてほしいです。 よろしくお願いします。
メンテ

Page: 1 |

Re: GetNetWorkAcceptStateの戻り値について ( No.1 )
名前:管理人 日時:2013/09/01 01:30

非同期接続とのことですが、 SetUseASyncLoadFlag( TRUE ) ; を実行した状態で ConnectNetWork を使用するのと、 ConnectNetWork_ASync を使用するのとどちらでしょうか?
メンテ
Re: GetNetWorkAcceptStateの戻り値について ( No.2 )
名前:だんごさん 日時:2013/09/01 15:23

ConnectNetWork_ASyncを使用しています。 説明不足ですみませんでした。
メンテ
Re: GetNetWorkAcceptStateの戻り値について ( No.3 )
名前:管理人 日時:2013/09/01 23:30

すみません、最初のお書き込みを正しく理解できていませんでした 戻り値がずっと0、ということについてですね 「接続に失敗」したかどうかは接続処理をしている側が判断することなので、 機能側が「接続に失敗しましたよ」と通知してくることはありません ( 接続が成立した後は、相手側から切断されると「切断されましたよ」と通知されますが ) なので「○秒経過しても応答がないということは接続に失敗したんだ」のような 判断をどのタイミングで行うか通信機能を使う側が決めることになります ( 因みに同期接続版の ConnectNetWork の場合は2秒経過しても応答が無い場合は 『DXライブラリが』接続に失敗したと判断して -1 を返すようにしています )
メンテ
Re: GetNetWorkAcceptStateの戻り値について ( No.4 )
名前:だんごさん(解決) 日時:2013/09/06 23:19

なるほど。 同期接続版の関数は-1が返ってくるので、非同期の接続確認でも関数側が失敗を知らせてくれるものだと思っていました。 自分で○秒だったら失敗と判断すればいいのですね。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存