62 lines
1.3 KiB
Go
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]))
|
|
}
|
|
}
|