Files
jx-callback/controllers/print_controller.go
suyl 2c64ff131b aa
2021-06-15 17:23:55 +08:00

62 lines
1.3 KiB
Go

package controllers
import (
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/globals"
beego "github.com/astaxie/beego/server/web"
"net"
)
type PrintController struct {
beego.Controller
}
type CallBackPrint struct {
Data string `json:"data"`
Code string `json:"code"`
}
func (c *PrintController) Msg() {
conn, err := net.Dial("tcp", "www.jxcs.net:8000")
if err != nil {
fmt.Println("Dial err:", err)
return
}
connHandler(conn)
//if c.Ctx.Input.Method() == http.MethodPost {
callBackPrint := &CallBackPrint{}
globals.SugarLogger.Debugf("print callback callbackResponse:%s", utils.Format4Output(c.Ctx.Request, true))
c.Data["json"] = callBackPrint
c.ServeJSON()
//} else {
// c.Abort("404")
//}
}
func connHandler(c net.Conn) {
//接收终端输入
//reader := bufio.NewReader(os.Stdin)
//缓冲
buf := make([]byte, 1024)
fmt.Println("Please input data...")
for {
//读取终端输入直到读取到\n
//input, err := reader.ReadString('\n')
//if err != nil {
// fmt.Println("ReadString err:", err)
// return
//}
//写入数据
c.Write([]byte("aaaaaaaaaaaaaa"))
//服务器端返回的数据写入buf
cnt, err := c.Read(buf)
if err != nil {
fmt.Println("Read err:", err)
return
}
//服务器端回传的信息
fmt.Println("server response:", string(buf[0:cnt]))
}
}