sqlite的api,便于内部使用
liuxiaolong
2019-05-21 cd0e3e77b769396ba634429b25ae6c8a448a73f6
reqrepClient.go
@@ -1,12 +1,10 @@
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 {
@@ -17,27 +15,22 @@
   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 ""
}