暑い時期が近づいてきたのを感じる今日この頃、皆様、どうお過ごしでしょうか?
チーム・タンドリーの北山です。
私は徒歩出勤の為、通勤の際には上着を腕に抱えて通勤しております。
本日は前回に引き続きWebGL上のマルチプレイの実装作業を行いました。
前回はsessionとcookieを用いて再読み込みの時などのユーザー判別の処理の記事を書きましたが、この件については、ある程度の光明が見えました。
node.jsでサーバーを作成し、その中に一意に生成されるsessionIDをどう保存するか?
という直面していた問題を調査した結果、必要なのはnode.jsのサーバー用に適したNoSQLデータベースの存在が必要であると分かりました。
NoSQLとは、SQL文を使用せず key / value 形式、つまりプログラミング言語における連想配列的な方法でデータを保存する事ができるデータベースの事です。
Node.jsでそれに適したモジュールを探した結果、 Redis というNoSQLデータベースのシステムに着目しました。
この Redis とは有名なNoSQLで、Node.jsだけに使用されるものではなく、サーバーのシステム開発に多用されるデータベースです。
C言語で作成されていて、一番推奨されているOSは、世界的にもサーバーで使用される事が主流とされるLinuxのOSが推奨されています。
その為、Windows10 は基本的に対応していないのですが、これについてはマイクロソフトの Open Tech group がWindows用のRedisを開発・メンテナンスしており、そこからダウンロードする事で、Windows10の開発環境でも使用する事ができます。
今回、Windows10の環境でNode.js下でRedisを使う際には少し手間取る部分がありました。
流れとしては以下の流れです。
- Open Tech group公式からWindows10用のインストーラーをダウンロードします。
- インストーラーでRedisをインストールします。
- Node.js側のサーバーにnpmのコマンドで「npm install redis」と入力して、公式の Redis モジュールをインストールしてNode.jsに追加します。
- 追加した後に「const redis = require('redis')」の様な形で読み込みます。
基本はLinuxでの使用が推奨されている為か、参考になる資料が少なかったのも大変でした。
このRedisを用いる事で、一意なsessionIDをサーバーに保管し、Cookieへ暗号化した情報を渡し、尚且つ、ログインの度に一意なsessionIDが生成されるのを利用してCookie側へ上書きしつつRedisにも保管して、情報の突合せを行うという事が可能になり、光明が見えてきました。
現在はこの情報の取り出しについて、順次処理の問題に直面している為、これを改善していくのが目的です。
ここまでご一読いただき誠にありがとうございました。
次回もご一読いただけますと幸いです。
何卒、宜しくお願い致します。
現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
UNITY、Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!
〔企画運営〕株式会社シェルパ
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F
tel 092-717-6800 / fax092-717-6801


コメント
コメントを投稿