| areaApi_test.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| go.mod | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| go.sum | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| reqrepClient.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| reqrepClient_test.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
areaApi_test.go
@@ -7,7 +7,7 @@ func TestGetLocalCameraTree(t *testing.T) { var api AreaApi body := api.GetLocalCameraTree(0) body := api.GetLocalCameraTree(0, 0, "c") fmt.Println(body) } go.mod
@@ -1,3 +1,5 @@ module dbapi go 1.12 require nanomsg.org/go-mangos v1.4.0 go.sum
New file @@ -0,0 +1,2 @@ nanomsg.org/go-mangos v1.4.0 h1:pVRLnzXePdSbhWlWdSncYszTagERhMG5zK/vXYmbEdM= nanomsg.org/go-mangos v1.4.0/go.mod h1:MOor8xUIgwsRMPpLr9xQxe7bT7rciibScOqVyztNxHQ= reqrepClient.go
New file @@ -0,0 +1,43 @@ 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) } reqrepClient_test.go
New file @@ -0,0 +1,23 @@ package dbapi import ( "fmt" "testing" "time" ) func TestMangosReqClient(t *testing.T){ var reqClient1 ReqrepApi var reqClient2 ReqrepApi go doRequest(reqClient1, "one") go doRequest(reqClient2, "two") time.Sleep(time.Duration(5)*time.Second) } func doRequest(client ReqrepApi, idx string){ for { msg := client.SendRequest(idx) fmt.Printf("receive msg: %s", msg) } }