package dbapi
|
|
import (
|
"fmt"
|
"os"
|
"nanomsg.org/go-mangos"
|
"nanomsg.org/go-mangos/protocol/req"
|
"nanomsg.org/go-mangos/transport/ipc"
|
"nanomsg.org/go-mangos/transport/tcp"
|
)
|
|
type ReqrepApi struct {
|
|
}
|
|
const (
|
ReqRep_URL = "tcp://127.0.0.1:8002"
|
)
|
|
func (api ReqrepApi)SendRequest(reqStr string) string {
|
var sock mangos.Socket
|
var err error
|
var msg []byte
|
|
if sock, err = req.NewSocket(); err !=nil {
|
fmt.Println("can't get new req socket!")
|
os.Exit(1)
|
}
|
sock.AddTransport(ipc.NewTransport())
|
sock.AddTransport(tcp.NewTransport())
|
if err = sock.Dial(ReqRep_URL);err !=nil {
|
fmt.Println("can't dial on req socket!!")
|
os.Exit(1)
|
}
|
if err =sock.Send([]byte(reqStr));err !=nil {
|
fmt.Println("can't send msg")
|
}
|
if msg,err = sock.Recv();err !=nil {
|
fmt.Println("can't get msg from mangos reqrep server")
|
}
|
defer sock.Close()
|
return string(msg)
|
}
|