HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0612
(^q^)hspsockにおいて6解決


(^q^)

リンク

2009/6/12(Fri) 23:36:36|NO.25674

sockopen命令で接続したソケットが相手サーバとまだつながっているのか切断されているのかを取得するにはどうすればいいですか??



この記事に返信する


Sucret

リンク

2009/6/14(Sun) 22:54:38|NO.25761

ソケットを切断する際は特定のデータを送ってから切断するようにすればいいかと思います。
もしその特定のデータを受信したら相手が切断したということを認識できますので。
プログラムが閉じられたりエラー等の場合は…onexitやonerror命令で飛ばされた先でデータを送るとか。
ただ送受信の失敗(物理的にLANケーブルが断線とか?)やプロセスから終了された場合はデータを送れませんので分かりかねます…。
ところでsockcheck命令でstatに代入される値って相手に切断されると変わりましたっけ?
(↑だとしたら楽ですが、私が今まで作ってきた通信のツールが全部無駄なことをしていたということに…)



Sucret

リンク

2009/6/14(Sun) 23:00:17|NO.25762

改行入れるの忘れてました!!見難くてすいません。
あと物理的にLANケーブルが断線っておかしいですね、
物理的な要素以外でどうやってLANケーブルが断線するのか…
そこの訂正も含めて大変申し訳ございませんでした。



(^q^)

リンク

2009/6/15(Mon) 21:05:37|NO.25787

WinSockAPIをパッケージ化してるみたいですからrecv関数の返り値でわかるはずなんですけどねぇ・・・



b

リンク

2009/6/15(Mon) 21:39:06|NO.25788

合っているか分かりませんが、
まず
1.サーバーが何秒か置きにクライアントにAというデータを送る
2.クライアントはAというデータを受け取ったらサーバーにBというデータを返す
3.サーバーは次の1.の処理のときにクライアントからBというデータが、
送られてきているかチェック
→送られてきていなかったら、クライアントはタイムアウト

って処理でクライアントの生存が確認出来るような気が〜



なたで

リンク

2009/6/15(Mon) 23:59:26|NO.25789

すみません。
全く解決になっていませんが、こういう話があります。

>WinSockAPIをパッケージ化してるみたいですから
>recv関数の返り値でわかるはずなんですけどねぇ・・・

winsockでの通信についてお伺いしたい事があります。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=24649&forum=11
Urabi » Blog Archive » winsock socket単位にKeep Alive Time設定
http://www.jurabi.jp/blog/?p=12

上記のページなどをみると、KeepAliveを設定するか、
独自で生きているか通信しあうように作らないといけないのかなと。
HSPの場合もこれに適用するかどうかは、ちょっと分かりません。



(^q^)

リンク

2009/6/18(Thu) 16:45:20|NO.25812

レス有難うございます 結局HSPだとめんどくさそうなので独自DLL作って解決してしまいましたw



ONION software Copyright 1997-2023(c) All rights reserved.