合計 昨日 今日
インフォメーション: 当サイトは3/3~3/4に大規模なメンテを実施し大幅リニューアルします。そのため3/3~3/4に長時間の利用停止時間が発生します。ご了承ください。

サーバプログラムを作成するには

[このトピックは解決済みです]

フォーラムルール
フォーラムルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Name: Yakiniku
[URL]
初心者(8,988 ポイント)
Date: 2018年2月04日(日) 14:08
No: 1
(OFFLINE)

 サーバプログラムを作成するには

いつもお世話になっております。
現在、C++でAndroidで通信プログラムを製作しているのですが、サーバ側のプログラムの取っ掛かりがなく苦戦しております。

主にサーバプログラムにおいて、参考になる書籍、サイトなどがありましたら教えて頂けると助かります。
(なるべく、一連の流れやソースが記載してあるものですと助かります)
(また、全くの無知ですので、まずはサーバからjsonファイルでHelloWorldが返ってくる程度のもので結構です)

最終的に実装予定の内容は以下の通りです。
・サーバのデータベースにログインIDとパスワードを保存し、まちがっていたら開始できないようにする。
・新しく始める場合は、新規のID、セーブデータを作成できるようにする。
・サーバのデータを解析しチートしていたらBANを行う。


理解していない内容、特に知りたい内容は以下の通りです


・クライアントからPOSTを行った後、サーバがjsonやxmlを返す方法(このフォーラムはPHPで出力されていますし、PHPやPythonでクライアントにjsonやxmlを返すというのはなんとなく分かります)

・現在レンタルサーバーであるXServerを使用しているのですが、PHPファイルなどからサーバのMySqlにどうやってアクセスすれば良いのかわかりません。(SQLはアクセス権の設定があるようです。(https://technet.microsoft.com/ja-jp/library/ms172405(v=sql.105).aspx))

・そもそも、PHPファイルはサーバに置くだけで、クライアントがリクエストなどを行うと勝手に動くのでしょうか?
(レンタルサーバによりますし、(https://www.xserver.ne.jp/support/faq/faq_service_php.php)を見る限り勝手に動くのだろうという気はしますが…)

・(http://kagasu.hatenablog.com/entry/2017/10/07/190551)このページのⅤ、POSTを見る限り、jsonでデータを送ってサーバで何かやって返すようです。(何をやっているんでしょう?PHPなどのスクリプトが動いてデータベースにアクセスしたりしているんでしょうけれど、どんなソースを書けば良いんでしょうか?)

Name: よもやま
[URL]
かけだし(2,484 ポイント)
Date: 2018年2月04日(日) 17:45
No: 2
(OFFLINE)

 Re: サーバプログラムを作成するには

なぜ独自にサーバー側を用意するでしょうか。
Google Playを利用したものではだめなんでしょうか。
独自にサーバー側を用意するとなると
認証方法(ケルベロス認証、Basic認証etc)
暗号化
情報漏洩防止
サーバーデータバックアップ及びリストア
サーバ容量に応じた新規ID登録の受付範囲設定と運用方針の策定
などの対策を講じる必要があるでしょう。
コードの例を求めるよりセキュリティ対策に関する知識・技術について研鑽を積まれるのがよろしいかと。

Name: よもやま
[URL]
かけだし(2,484 ポイント)
Date: 2018年2月04日(日) 19:44
No: 3
(OFFLINE)

 Re: サーバプログラムを作成するには

端末に保管されたセーブデータのバックアップ目的でしたら
Googl Driveなどのサービスを利用するのもよいと思います。

Name: Yakiniku
[URL]
初心者(8,988 ポイント)
Date: 2018年2月04日(日) 20:42
No: 4
(OFFLINE)

 Re: サーバプログラムを作成するには

[解決!]

よもやま様

>>なぜ独自にサーバー側を用意するでしょうか。
>>Google Playを利用したものではだめなんでしょうか。

返信ありがとうございます。
最初の質問ですが、出来た方が面白そうだと感じたからと勉強のためです。
次の質問ですが、Google Playにどのような機能があるかわかりません。
新しいアップデート通知機能があるのは知っていますが、バージョンが最新でないなら起動できないようにした方が良いなと思ったためです。また、GoogleDriveですが来月終了とのことですので、使用にはやや不安に感じます。

話をまとめると、個人でのレンタルサーバの利用と開発は愚策であり、セキュリティ面を勉強しながらBaaSやGoogleDriveなどを使用するべきということだと思います。
ただ、前段階としてPOST機能も出来ない段階でセキュリティ面を考えるのは本末転倒な気がしないでもないのです。
(しかし、よもやま様の言う通り、セキュリティ面を考慮しない素人の付け焼刃のサーバプログラムは全く役に立たず、最初からBaaSなどを使った方が良いというのは今回の質問において的を射ているんですよね…
私の今やっている勉強は車輪の再発明という無駄な行動のような気がします)

少し、自分でやってみて、サーバを使うにしてもBaasなどを使う方向でやってみたいと思います。

Name: よもやま
[URL]
かけだし(2,484 ポイント)
Date: 2018年2月05日(月) 00:37
No: 5
(OFFLINE)

 Re: サーバプログラムを作成するには

ストレージの問題は悩みの種ですが
サーバー側を軽くする方策としては
・イベント、不具合情報
・ゲーム用データの格納
端末側は
サーバー側のイベントなどの情報取得
ゲーム用データの更新確認と取得、端末内データ更新
といった感じでしょうか。
ゲームアプリ(プログラム)の更新はストア経由となると思いますので
あとはゲーム用データの容量がキロバイト単位ですむのかギガ単位となるのかで
サーバー側に求める容量も算出しやすくなるでしょう。

Name: Yakiniku
[URL]
初心者(8,988 ポイント)
Date: 2018年2月06日(火) 19:45
No: 6
(OFFLINE)

 Re: サーバプログラムを作成するには

[解決!]

>>よもやま様

現在、AndroidStudioでBaasのサンプルプログラムを試しに使った段階です。(ログイン、サインアップの簡単なものです)

>>あとはゲーム用データの容量がキロバイト単位ですむのかギガ単位となるのかで
>>サーバー側に求める容量も算出しやすくなるでしょう。
おそらく、よもやま様の仰ったサーバ側の容量だけでなく、通信機会・回数も影響してくるのでしょうが、両者ともそこまではいかないと思います。

すごくざっと見積もって

アップデート情報500文字*10件
システム情報1000個(int)
キャラクタの個体値最大10個*1000(int)
フラグ10000個(bool)

50kbくらいでしょうか?
これを最初と要所要所だけやると考えるとそこまでいかない気がします。

しかし、それよりも優先すべきはAndroidStudioは知っての通りJavaですので、使い慣れているC++のライブラリが使えないときついということです。
ですので、C++とJavaの併用の動作が確認できてから、サーバプログラムに取り掛かると思います。

よもやま様、返信ありがとうございました。


Return to C言語何でも質問掲示板

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[9人]