迫真クソコード部
そんなわけでUnityで簡易Webサーバ作ってたら頭おかしくなってクソ汚い汚物を生み出してしまいました。なので供養のため、ブログ記事にします。見とけよ見とけよ~。
こんなのをつくってみる。
ひどすぎる
ボタン押すと接続が終了します。それだけです。
以下ソース。
using System; using System.Collections; using System.Collections.Generic; using System.Net; using System.Text; using UnityEngine; using UnityEngine.UI; public class HTTPScript : MonoBehaviour { private HttpListener listener = new HttpListener(); public Text text; void Start () { listener.Prefixes.Add("http://localhost:1919/"); listener.Start(); HttpListenerContext context = listener.GetContext(); HttpListenerResponse res = context.Response; res.StatusCode = 200; byte[] content = Encoding.UTF8.GetBytes("Don't push Button"); res.OutputStream.Write(content, 0, content.Length); res.Close(); } // ボタン処理 public void OnClick() { text.text = "ンアッー!(≧Д≦)"; text.fontSize = 36; listener.Stop(); } }
起動時にlocalhost:1919に文字表示させて、ボタンを押すと終了するとかそんなこと書いてます。例外処理?知らんな。
んで、とりあえず試しに作ってみたけどゾンビみたいな挙動する。多分Unityのライフサイクルがよくわかってないからだと思う。そもそもこんな使い方をしてる人を見たことがないのでどう書くのが正解かよくわからない。実用性あるのかよくわかんないですがもう少し煮詰めたらゲーム性だせそう。また進展があったら続きとかの報告とかをしてしまうかもしれない……。
おわり