クライアントからログイン要請を送り、サーバーを通して管理用クライアント
から受信して、管理クライアントからクライアントにログイン成功と同時に
ゲームの課金らしきもの(課金といっても無料)のデータを受信、というのを
やりたいのですが、実際にスクリプトを作ると送信やサーバーでの受け取り確認は
行えたのですが、管理用クライアントが応答なしになって、サーバーを閉じると同時に
受信に失敗したときに流すよう設定しておいたエラーが出る、というようになってしまい
ました。
下のスクリプトが作ってみたスクリプトです
(管理クライアント)
#include "hspsock.as"(サーバー)
sockopen 0,"localhost",89325;まだ1台のパソコンでしかやってません if stat = 1 :goto*error;エラーの判定 if stat = 2 :goto*error if stat = 3 :goto*error if stat = 4 :goto*error1 sockget zyume,8,0 if stat > 0 :goto*error dialog "メッセージを受信しました",0,"受信";受信したことのお知らせ mes zyume sockclose 0;ソケットを閉じる end *error dialog "エラーが発生しました",1,"エラー";エラー sockclose 0 end *error1 dialog "サーバーが開いていません",0,"接続不能";接続できないとき sockclose 0 end
#include "hspsock.as"(普通のクライアント)
timeout = 0 sockmake 0,89325;初期化 if stat = 1:goto*error;エラー判定 if stat = 2:goto*error1 if stat = 3:goto*error *swait sockwait 0;タイムアウト処理 timeout + 1 if timeout = 6:goto*error3 wait 300 if stat =1:goto*swait if stat =2:goto*error2 if stat =3:goto*error2 if stat =4:goto*error2 if stat =5:goto*error2 if stat =0:goto*tyakusin *error;エラー mes "エラー発生!" wait 300 sockclose 0 end *error1;エラー2 mes "初期化失敗!" wait 300 sockclose 0 end *error2;エラー3 mes "接続失敗!" wait 300 sockclose 0 end *error3;タイムアウト mes "タイムアウト!" wait 300 sockclose 0 end *tyakusin;きたことの確認 mes "着信が来ました!" wait 10000 sockclose 0 end
#include "hspsock.as"どうか、解決方法を教えてください。
sockopen 0,"localhost",89325;接続 if stat = 1 :goto*error;エラー判定 if stat = 2 :goto*error if stat = 3 :goto*error if stat = 4 :goto*error1 sockput "message",0;メッセージ送信 dialog "メッセージを送信しました",0,"送信" sockclose 0 end *error dialog "エラーが発生しました",1,"エラー";エラー sockclose 0 end *error1 dialog "サーバーが開いていません",0,"接続不能";接続不能 sockclose 0 end