• ベストアンサー

[HSP3.1]サーバーのランキング登録方法

1ヶ月前からHSP3.1でのプログラミングを始めました。 少し分かるようになってきたので簡単なゲームとして10秒間にクリックした回数を表示させるプログラムを作成しました。 ----以下質問内容---- ・このクリックされた回数をサーバーに送信し、ランキングのようにするにはどのようにすればよろしいでしょうか? ・その際データベースを作成する必要はあるのでしょうか? googleで検索してみたのですがHSPTVでの方法しか記載されていなかったので方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nacika
  • ベストアンサー率75% (6/8)
回答No.1

 サーバーにランキング情報を送信するには、HSP側でサーバー ソフトウェアを作るか、CGIを使い外部サーバーからHTTPを用い る二つの方法があります。  CGIを使った場合は、簡単なHTTPプロトコルのコードを送るだけ で、ランキング情報を送受信すればいいわけで、自分のPCでサ ーバーを立ち上げる必要がないなどの利点がありますが、Perlな どのCGI言語の知識が必要になります。  この場合PerlなどのHSP以外の言語の知識が必要になります。  Perlが扱える人にとっては容易なことですが、HSPしか知らない というのであれば、サーバーソフトを作ったほうが楽です。  HTTPプロトコルのコードの知識も必要ではありません。sock系 命令で直接サーバーに対して送受信してあげればいいわけです。  sock系命令を使う場合は、基本的に、     「コマンド」→「送信要求または受信要求かの判断」     →「データの送信または受信」→「\0」 という流れで転送を行います。「コマンド」というのは、送信また は受信するデータの種類を表し、たとえば、「GetRank1」という コマンドをサーバーに転送すると、サーバー側は、ランキング1 位のデータを送ってくれます。  この流れを見ると、GetRank1というコマンドは、サーバー側 から、ランキングの情報送ってほしいと要求しているので、送信 要求となります。  逆に、サーバー側は、「SendRank1」というコマンドをクライアント 側に送り、クライアント側は受信要求に入ります。  難しいですが、“コマンドにより、送られるデータの種類を見分ける” ためのコードとおもってみてくれれば簡単だとおもいます。 Sock系命令を扱うにあたって、 サーバー、クライアント、ポート、 IP、などの用語の知識が必要になるので、検索をかけて調べてみて ください。  また、外部へのランキングアクセスする必要がある場合は、ポート の開放(NAT変換)の必要もあります。

関連するQ&A