Unity发送Post请求给GoLang服务端解析并返回
使用Unity发送Post请求到GoLang的Http服务器,Http服务器接收响应后返回给客户端程序
GoLang
type ServerHttp struct {
HttpServerName string
}
func NewServerHttp(serverName string) *ServerHttp {
s := &ServerHttp{
HttpServerName: serverName,
}
return s
}
func (s *ServerHttp) Serve() {
go func() {
http.HandleFunc("/Account", s.accountHandle)
serverHttp := &http.Server{
Addr: global.HttpServerUrl,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
}
err := serverHttp.ListenAndServe()
if err != nil {
logger.PopError(err)
return
}
logger.PopDebug("========Http服务器开启成功!!!========")
select {}
}()
}
func (s *ServerHttp) accountHandle(resWriter http.ResponseWriter, req *http.Request) {
err := req.ParseForm()
if err != nil {
fmt.Println(err)
return
}
val := req.Form.Get("id")
fmt.Println(val)
_, err = resWriter.Write([]byte(val))
if err != nil {
fmt.Println(err)
return
}
}
Unity
IEnumerator Start()
{
WWWForm wwwForm = new WWWForm();
wwwForm.AddField("id",666);
UnityWebRequest webRequest = UnityWebRequest.Post("http://127.0.0.1:9301/Account", wwwForm);
yield return webRequest.SendWebRequest();
if (webRequest.error!=null)
{
Debug.LogWarning(webRequest.error);
}
Debug.Log(webRequest.downloadHandler.text);
}