WebGL+Node.js+socket.ioで3Dマルチプレイ開発の課題に取り組みました。 その5

 午前は冷房が必要ありませんでしたが、1時間経つ毎にネクタイを締める首回りが蒸れて暑さを感じる日となり、気温差に気を付けたい今日この頃、皆様、どうお過ごしでしょうか?

チームタンドリーの仕込み係の北山です。

先日に引き続き、WebGLでマルチプレイを行う為の実装をしています。
本日は「session」を用いてログインしたIDを判別する仕組みを構築できるように目指しました。

sessionとは一時的に保存された情報の事です。
ユーザーがブラウザでWebページを閲覧した際に、そのブラウザが閉じられるまで保存されます。
保存される情報は、そのWebページの目的によって多種多様です。

今回は、このsessionを保存してユーザーを判別したいのですが、厳密に言うとsessionだけでは不可能です。

sessionの概念でいくと、ユーザーがブラウザを閉じたらsessionの情報も消えるというのが通説的なものであり、ブラウザを閉じられた後にも残す方法というのは別の方法になります。

それは cookie です。
此方はユーザーがブラウザを閉じてもユーザーのブラウザに残り、それを元にWebページ側が色々な判別を行う仕組みを持ちます。
基本的に、sessionとcookieの両方を用いる必要がある訳です。

私はsessionはHTMLやPHPなどで使った経験はある程度はあるのですが、cookieについてはあまり使った事がないのと、今回、WebGLと連動する node.js でそれを行うという鬼門にぶつかり、難航しています。

また、node.jsはsessionと、それに付随するモジュール(「インストールする部品みたいなモノ」と捉えて下さい。)が多く、今日は調査だけで時間が過ぎてしまいました。

Node.jsでのsessionは「express」というモジュールを使用する必要があります。




また、これはどちらか片方だけが動いていればいい訳ではなく、どちらも連動する必要があります。

この連動を行う為、更にモジュールを読み込む必要があり、そのモジュールは「express-socket.io-session」というモジュールも読み込んで、 use の処理でどちらもそれぞれ読み込ませる必要がありました。


※一番下の use の処理の箇所です。
※上記はまだ途中の段階です。


現時点では上記の形を持って、socket.io内の処理でsessionの情報の設定する事はできたと思われるのですが、独特な使い方をするモジュールの為、まだ確信に至れていない状態です。


ただ、ここから次はクッキーを用いてユーザーのブラウザで判定していく処理を目指していきたいので、鋭意調査を続行していきます。

ここまでご一読いただき誠にありがとうございました。
次回もご一読いただけますと幸いです。



現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
UNITY、Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!


〔企画運営〕株式会社シェルパ 
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F
tel 092-717-6800 / fax092-717-6801 

コメント