場面
・Unity側に「新規登録」、「ガチャ」、「ランキング」等サーバーとの連携で成せるであろう機能を付けたい。
・ローカルサーバー側(Laravel5)
・Unityとローカルサーバーの連携を図る
実行
自分:「よっしゃ、んじゃとりあえず軽くログインからやってみるか」
※コードを一部抜粋
string url = "http://localhost:8000/hoge/hoge";
WWW www = new WWw();
yield return www;
if(www.error != null){
Debug.Log(www.error);//残念ながらこっちに引っかかり悩むことに
}else{
Debug.Log(www.text);//こっちに引っかかってほしい
}
Unityさん:「Failed to connect to localhost port 8000: Connection refused」
自分:「すいません・・・」
解決策まで
こんな感じでなぜかlocalhostのポート8000は接続させませーんとUnityさんが不機嫌になり
ログインできたのかどうかのAPIをサーバーが返す前にUnityさんに進捗を拒まれ2日間悩んでしまいました。
PHPのビルトインサーバーを起動を起動する際に
これまではphp artisan serve
でサーバーを起動していたところを
解決策の決め手となったのはsudo php artisan serve --host 127.0.0.1 --port=8080
に変更してからは見事サーバーへ接続させていただきました(Unityさんありがとう)
今後
今回の記事ではなぜ接続拒否から接続させてあげましょうになったのかの根拠を書いていません。
とりあえず接続させてもらった話ですので時間に余裕ができ次第なんで動いたのか等を調べていこうかと思います。
/etc/hostsの設定とかこれまで色々いじって変になっていたのかも?
次回予告
来年度からは、初めての試みでもあるUnity+laravel5で開発していた際の新しい発見(閲覧者からするとそうでもないかもしれません)をコツコツと投稿していくとともにここら辺の知見を広げていこうと思います!