[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
| |
VB2005のSocket通信の複数クライアントの非同期処理
1
:
まもる
:2011/06/02(木) 09:56:43
VB2005のSocket通信の複数クライアントの非同期処理について
このサイトで勉強さてて頂いております。
ソケットの切断検知について、壁に当たってしまい
ご教示して頂けたらと思い、書込み致しました。
サーバ側のLANコネクタ切断時は検知できますが
クライアント側のLANコネクタ切断の検知できず、困っております。
netstatを使ってポートの状態を確認してみますと
ポートが占有されたままになってるように思います。
接続してから一定時間経過したら
切断させるように出来れば…等
色々考えてみましたが
私の能力不足で解決策が見当たりませんでした。
なにか切断を検知する方法がありますでしょうか?
お忙しいとは思いますが、宜しくお願いします。
2
:
igoten
:2011/06/02(木) 11:09:56
非同期の場合物理的なSocketの切断を判別するのは
難しいですね。
pingはネットワークの物理的な接続テストにも使われますので
pingを飛ばす方法が良いと思います。
3
:
まもる
:2011/06/02(木) 16:14:19
お忙しい中、回答ありがとうございます。
色々調べていたのですが
私の知識不足でpingという考えが出てきませんでした。
ご教示通りに、Pingを組み込んでみたところ
ステータスでTimeOutを検知できるようになりました。
タイムアウト検知できるようになりましたので
残った通信をしているスレッドを破棄しようと考えているのですが
(通信を行っているスレッド=コードの構成にあります図の「クライアントクラス毎の別スレッド上のRead」だと考えています)
ここでまた壁に当たってしまいました。
メインフォームからタイムアウトを検知したスレッドを破棄する方法が分かりません…。
ご教示頂いてから、色々手立てを考え、調べてみたのですが悪戦苦闘しております。
連続で大変恐縮なのですが
通信を行っているスレッドの破棄する方法をご教示して頂けませんでしょうか?
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板