| | |
| | | package dbapi |
| | | |
| | | import ( |
| | | "dbapi/deliver" |
| | | "dbapi/protomsg" |
| | | "encoding/json" |
| | | "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 { |
| | |
| | | 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 |
| | | func (api ReqrepApi)SendRequestAndGetReply(reqStr string) string { |
| | | sender := deliver.NewConsumer(deliver.Mode(deliver.ReqRep), ReqRep_URL) |
| | | var sendMsg = protomsg.SdkMessage{} |
| | | sendMsg.Cid = "kkkk" |
| | | byteArr, _ := json.Marshal(sendMsg) |
| | | err := sender.Send(byteArr) |
| | | if err !=nil { |
| | | fmt.Println(err) |
| | | } |
| | | fmt.Println("sendedMsg") |
| | | |
| | | 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) |
| | | //recvMsg, err := sender.Recv() |
| | | //if err ==nil { |
| | | // fmt.Println(string(recvMsg)) |
| | | //} |
| | | |
| | | fmt.Println("SendRequest") |
| | | return "" |
| | | } |