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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0205
タベルサーバーのランキング登録方法9未解決


タベル

リンク

2009/2/5(Thu) 07:41:29|NO.23221

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

googleで検索してみたのですがHSPTVでの方法しか記載されていなかったので方法を教えてください。



この記事に返信する


panda

リンク

2009/2/5(Thu) 13:48:48|NO.23223

まず、CGIを使えるサーバーを探さなければなりません。
Yahoo!ジオシティーズのジオプラスなど(有料)

CGIが使えるサーバーは有料のところが多いです。
無料のところもありますが、広告が挿入され、うまくプログラムが動かないパターンがあります。
また、非常に重いサーバーだったりします。(インフォシークなど)

記憶ですが、BIGLOBEのプロバイダーの方やniftyの会員の方はたしか、CGIが使えたような気がします。

さて、そのCGIとは何かはこちらから調べてみてください。
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=cgi&num=50

ちなみに、CGIの言語として、一般的にはHSPは選べません。(Windowsサーバーではないところが多いため)
主にPHPやPerlがあります。それぞれ文法を学ばなければなりません。
私は、本を購入して勉強しましたよ。



タベル

リンク

2009/2/5(Thu) 19:44:35|NO.23224

つまりHSPはやめてcgiでゲームを作成してphpで実行したほうがいいってことですか?
できればHSPでサーバーに情報を登録したいのですが・・・。



SYAM

リンク

2009/2/5(Thu) 20:19:00|NO.23226

この場合、ゲームは「クライアント」で、ゲームを実行したあとにその結果を記録するよう、「サーバ」に対して要求する仕組みになると思います。
・・・ですよね?違うことを考えていたならごめんなさい。

クライアントはHSPで問題なく作れるでしょう。
pandaさんのおっしゃっていることは、「サーバのほうはHSPではほとんど無理」・・・という話です。



タベル

リンク

2009/2/5(Thu) 20:35:08|NO.23227

SYAMさんの言ってることで合ってます。
サーバーにどのように命令すれば良いのでしょうか?(´・ω・`)



aaa

リンク

2009/2/5(Thu) 21:11:55|NO.23229

とりあえず、ネットワークの知識が必要。
何かネットワーク系のモジュール(HSPSOCKとか)は使えますかね?

・・まぁもう少し待ってれば、プログラムを丸々投げ込んでくれる人がいるかも (笑



GENKI

リンク

2009/2/5(Thu) 21:14:36|NO.23230

検索しても資料が見つからなかったと言うことですので、
参考になりそうな関連資料だけですが、どうぞ。
http://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2F%A5%E9%A5%F3%A5%AD%A5%F3%A5%B0%C5%D0%CF%BF
http://wikiwiki.jp/orzlabo/?%BB%F1%CE%C1%B4%DB



panda

リンク

2009/2/5(Thu) 21:21:23|NO.23231

どうも勘違いされているみたいです。

クライアントはHSPで作れます。つまり、ゲームなどはネットワーク操作できる、HSPで作成してもOKです。
私が前述したのは、それを受け取り処理するサーバーが必要と答えたかったのです。

つまり、全世界の人がみられるランキングをつくりたかったら
 HSP(あなたが作ったゲーム)←→サーバ
という関係が必要です。

そこで、サーバーを用意する必要があるのです。

>サーバーにどのように命令すれば良いのでしょうか?(´・ω・`)
これは用意するサーバーで動かしている、CGIの種類によりますし、コマンドは自分で作成します。

私は以下の方法で実現したことはあります。コレが一般的に利用されているかはわかりません。
また、専門用語がならびますが、各自調べてください。また、Perlを想定しています。
さらにさらに、Perlについては、こちらの板では専門外になるのでお答えしかねます。

・HSPでGETメゾットでデータを送信する。
例)netload "xxxxx.com?val=12345"
・サーバー上のCGIで GETメゾットで送信されたデータを処理する。(CGIのモジュールを使えば簡単にできる?)
・open などの命令でサーバー上に書き込む
・HSP(クライアント)にデーターを出力する


失礼ですが、現段階の知識で、アクセスランキングをすべて自前での作成は少々無理ではないかと思われます。
せっかく、HSPTVで簡単に操作できるよう用意されているようですのでそちらを利用されてはいかがでしょう。



As

リンク

2009/2/5(Thu) 21:22:13|NO.23232

 サーバーにランキング情報を送信するには、HSP側でサーバー
ソフトウェアを作るか、CGIを使い外部サーバーからHTTPを用い
る二つの方法があります。

 CGIを使った場合は、簡単なHTTPプロトコルのコードを送るだけ
で、ランキング情報を送受信すればいいわけで、自分のPCでサ
ーバーを立ち上げる必要がないなどの利点がありますが、Perlな
どのCGI言語の知識が必要になります。
 この場合PerlなどのHSP以外の言語の知識が必要になります。

 Perlが扱える人にとっては容易なことですが、HSPしか知らない
というのであれば、サーバーソフトを作ったほうが楽です。
 HTTPプロトコルのコードの知識も必要ではありません。sock系
命令で直接サーバーに対して送受信してあげればいいわけです。
 sock系命令を使う場合は、基本的に、

    「コマンド」→「送信要求または受信要求かの判断」
    →「データの送信または受信」→「\0」

という流れで転送を行います。「コマンド」というのは、送信また
は受信するデータの種類を表し、たとえば、「GetRank1」という
コマンドをサーバーに転送すると、サーバー側は、ランキング1
位のデータを送ってくれます。
 この流れを見ると、GetRank1というコマンドは、サーバー側
から、ランキングの情報送ってほしいと要求しているので、送信
要求となります。
 逆に、サーバー側は、「SendRank1」というコマンドをクライアント
側に送り、クライアント側は受信要求に入ります。

 難しいですが、“コマンドにより、送られるデータの種類を見分ける”
ためのコードとおもってみてくれれば簡単だとおもいます。

Sock系命令を扱うにあたって、 サーバー、クライアント、ポート、
IP、などの用語の知識が必要になるので、検索をかけて調べてみて
ください。
 また、外部へのランキングアクセスする必要がある場合は、ポート
の開放(NAT変換)の必要もあります。



panda

リンク

2009/2/6(Fri) 16:35:13|NO.23247

ASさん、説明下手な私にフォローありがとうございます^^

 さて、補足させていただくとすると、自宅サーバーということになりますので、
当然24時間、365日稼動することになります。
(任意の時刻のみ登録、ダウンロードできるというなら、別だけど…)

さらに、インターネットの帯域も自分の分から減ります。(二つ回線もてばいいだけだけど)

また、最も大きな問題として、セキュリティ問題がつきます。
もし、のっとられでもしたら、自分だけでなく、他者にも被害が出ますので、
知識に自信がない、かつ、管理をずっとつづけるのを怠らない自信がない
のなら、グローバールなサーバーを立てることは推奨できません。

以上、上記にあげたリスクを背負うくらいなら、PHPやPerlという言語を勉強して、ジオシティーズやXREA
などのサーバーを借りたほうがいいですよ…

っといいたかったのです。



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