专栏首页Golang语言社区转--quick-cocos做客户端,golang做服务端,实现HTTP通信

转--quick-cocos做客户端,golang做服务端,实现HTTP通信

客户端quick-cocos程序如下:

local info={hero={
    heroname="zhanshen",herolevel=1,herohp=200
                 },
   [1]={
    name="fengbao",level=2,att=100
       }
}

  function onRequestFinished(event)
        local ok = (event.name == "completed")
        local request = event.request
         if not ok then
        -- 请求失败,显示错误代码和错误消息
             print(request:getErrorCode(), request:getErrorMessage())
            return
         end
       local code = request:getResponseStatusCode()
          if code ~= 200 then
        -- 请求结束,但没有返回 200 响应代码
          print(code)
          return
          end
      -- 请求成功,显示服务端返回的内容
      local response = request:getResponseString()
      print(response)
    end
-- 创建一个请求,并以 POST 方式发送数据到服务端
local url = "http://192.168.1.101:8080/test"
local request = network.createHTTPRequest(onRequestFinished, url, "POST")


for key ,value in pairs(info) do
  for key,value in pairs(value)do
    print(key,value)
    request:addPOSTValue(key, value)
  end
end
-- 开始请求。当请求完成时会调用 callback() 函数
request:start()
服务端golang程序:
package main


import (
//"encoding/json"
"fmt"
//"io/ioutil"
"net/http"
//"strings"
)


type person struct {
NAME string
AGE  int
}


func main() {
http.HandleFunc("/test", hand)
err := http.ListenAndServe("192.168.1.101:8080", nil)
if err != nil {
fmt.Println("err")
}
}


func hand(w http.ResponseWriter, r *http.Request) {
fmt.Println("ok")
w.Write([]byte("connect ok"))


r.ParseForm()       //解析参数, 默认是不会解析的
fmt.Println(r.Form) //这些是服务器端的打印信息
fmt.Println("path", r.URL.Path)
fmt.Println("scheme", r.URL.Scheme)
fmt.Println(r.Form["url_long"])
for k, v := range r.Form {
fmt.Println("key:", k)
fmt.Println("val:", v) //v的类型是[]string
}
}


记得把IP地址换成自己的

本文分享自微信公众号 - Golang语言社区(Golangweb)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-04-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Go 语言社区】算法课程 第一季 第5节 回文检查

    回文概念:大致就是把这个数倒过来念数字还是和原来的一样. 运行结果: 代码: package main import ( "fmt" ) //...

    李海彬
  • 【Go 语言社区】算法课程 第一季 第6节 建立三角形

    package main import ( "fmt" ) // 主函数 func main() { fmt.Println("...

    李海彬
  • Golang语言实现猜数字小游戏的方法

    随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了 package main import ( "bufio" "f...

    李海彬
  • Spring Bean 纯注解开发

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    多凡
  • 高斯消元

    众所周知,高斯消元是线性代数中重要的一课。通过矩阵来解线性方程组。高斯消元最大的用途就是用来解多元一次方程组。

    ACM算法日常
  • DEDE5.3至DEDE5.6通用伪静态教程!

    用户1272546
  • 在ListView上使用自定义的Adapter

    需要实现的东西是: 一个DataListViewAdapter,当进行如下调用时,就能在列表上显示出数据:

    LeoXu
  • Oracle中根据中文获取拼音首字母

    在软件中方便用户查找信息时,都会用到输拼音首字母的简写快速过滤,所以一般我们在Oracle的表中会加上一列助记符列,今天我们就看看将中文怎么转换为拼音首字母。

    Vaccae
  • Django实现任意文件上传(最简单的方法)

    利用Django实现文件上传并且保存到指定路径下,其实并不困难,完全不需要用到django的forms,也不需要django的models,就可以实现,下面开始...

    用户1214487
  • 带你认识 flask 美化

    虽然我们可以争辩说写代码不容易,但是与那些必须让网页在所有Web浏览器上具有良好一致外观的网页设计师相比,我们的痛苦不值一提。虽然近年来这种情况得到一定程度的缓...

    公众号---志学Python

扫码关注云+社区

领取腾讯云代金券