這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Unity部分:
建立個指令碼,掛在隨便一個object下面。代碼如下:
using UnityEngine;using System.Collections;using System.Text;public class TestScript : MonoBehaviour{ public string url = "http://127.0.0.1:8000/test";public string test_string;// Use this for initializationIEnumerator Start (){ WWW www = new WWW (url); yield return www; print (www.bytes); test_string = System.Text.Encoding.UTF8.GetString (www.bytes); print (test_string);}// Update is called once per framevoid Update (){}}
go部分
<!-- lang: cpp -->package mainimport ( "fmt" "html/template" "net/http")func main() { fmt.Printf("Server Start\n") http.Handle("/img/", http.FileServer(http.Dir("tpl"))) http.HandleFunc("/", NotFoundHandler) http.HandleFunc("/index", IndexHandler) http.HandleFunc("/test", TestHandler) http.ListenAndServe(":8000", nil) fmt.Printf("Server Closed\n")}func NotFoundHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path == "/" { http.Redirect(w, r, "/index", http.StatusFound) } t, e := template.ParseFiles("tpl/html/404.html") if e != nil { ErrorLog(e) } t.Execute(w, nil)}func TestHandler(w http.ResponseWriter, r *http.Request) { // below for test fmt.Println("PostForm", r.PostForm) test := r.PostForm.Get("test") fmt.Println("test string:", test) // upside for test returnString := "返回測試數值!" returnBytes := []byte(returnString) i, e := w.Write(returnBytes) fmt.Println("i,e:", i, e)}func IndexHandler(w http.ResponseWriter, r *http.Request) { t, e := template.ParseFiles("tpl/html/index.html") if e != nil { ErrorLog(e) } t.Execute(w, nil)}func ErrorLog(e error) { fmt.Println(e)}