Unity发送Post请求给GoLang服务端解析并返回

本文介绍如何使用Unity通过POST请求连接Go语言编写的HTTP服务器,详细展示了ServerHttp结构与处理函数,以及Unity端发送请求的示例。重点在于Unity向GoLang服务端发送数据并获取响应的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值