package main
import (
"github.com/halokid/ColorfulRabbit"
"github.com/vmihailenco/msgpack"
"log"
"net"
"time"
)
type Request struct {
method string
ARGS []string
}
func main() {
var conn net.Conn
var err error
conn, err = net.DialTimeout("tcp", "127.0.0.1:9527", time.Duration(time.Second * 5))
ColorfulRabbit.CheckError(err, "mprpc go connection error")
defer conn.Close()
if tc, ok := conn.(*net.TCPConn); ok {
tc.SetKeepAlive(true)
tc.SetKeepAlivePeriod(3 * time.Minute)
}
request := Request{
method: "say_hello",
ARGS: []string{},
}
bReq, err := msgpack.Marshal(&request)
ColorfulRabbit.CheckError(err, "mprpc marshal error")
_, err = conn.Write(bReq)
ColorfulRabbit.CheckError(err, "mprpc go conn send data error")
buf := make([]byte, 1024)
readLen, err := conn.Read(buf)
ColorfulRabbit.CheckError(err, "mprpc go read error")
rsp := string(buf[:readLen - 1])
log.Printf("rsp -------------- %+v", rsp)
}