LollipopGo:游戲資源服

設(shè)計目的

游戲客戶端熱更需要,主要是代碼熱更,本篇簡單給大家建立夏資源服的設(shè)計思路

代碼

package main

import (
    "encoding/json"
    "fmt"
    "github.com/golang/glog"
    "io/ioutil"
    "log"
    "net/http"
    "os"
)

// 注意:Test會自己創(chuàng)建
func main() {
    http.HandleFunc("/Test", binge)
    os.Mkdir("Test", 0777)
    http.Handle("/Test/", http.StripPrefix("/Test/", http.FileServer(http.Dir("Test"))))
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

// 更新地址
type UpdateST struct {
    URL    string
    Flag   bool
    Fir_IM string
}

func binge(w http.ResponseWriter, req *http.Request) {

    w.Header().Set("Access-Control-Allow-Origin", "*")
    w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
    w.Header().Set("Access-Control-Allow-Headers", "Action, Module")
    w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Authorization")
    w.Header().Set("Access-Control-Max-Age", "1728000")
    w.Header().Set("Access-Control-Allow-Credentials", "true")
    w.Header().Add("Access-Control-Allow-Headers", "Content-Type")
    w.Header().Set("content-type", "application/json")
    req.ParseForm()

    defer func() {
        if err := recover(); err != nil {
            glog.Info("%s", err)
            req.Body.Close()
        }
    }()
    s, _ := ioutil.ReadAll(req.Body)
    fmt.Println("------------------------------", string(s))
    glog.Info(string(s))
    glog.Flush()
    // 發(fā)送數(shù)據(jù)
    data := &UpdateST{
        URL:    "",
        Flag:   true,
        Fir_IM: "",
    }
    datamsgbak, _ := json.Marshal(data)
    fmt.Fprintf(w, "%s", datamsgbak)
    return
}

測試連接

// http://127.0.0.1:8080/Test/
注:Test為根目錄文件夾,Test文件夾下面放熱更文件。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容