liuxiaolong
2019-06-26 106f2d2583c77b27c8c63c3c16aea9fadf77ec67
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package service
 
import (
    "basic.com/pubsub/protomsg.git"
    "basic.com/valib/deliver.git"
    "encoding/json"
    "fmt"
    "github.com/gogo/protobuf/proto"
    "github.com/satori/go.uuid"
    "io/ioutil"
    "time"
)
 
const (
    Url_Service_PUSH = "tcp:///tmp///webserver-2.ipc"
    Url_Service_PULL = "tcp:///tmp///webserver-1.ipc"
)
var imgPushChan chan protomsg.Recvmsg
 
func TestPushImgMsg() {
    InitService()
    imgData := readImgFile()
    fmt.Println("imgData.len:",len(imgData))
    for {
        PushImgMsg(protomsg.Recvmsg{
            Id:uuid.NewV4().String(),
            Addr:"",
            Picdata:imgData,
        })
        fmt.Println("pushed img")
        time.Sleep(5*time.Second)
    }
}
 
func readImgFile() []byte{
    filePath := "/home/user/workspace/timg.jpg"
    bytes, err := ioutil.ReadFile(filePath)
    if err !=nil {
        fmt.Println("Read img err:",err)
    }
    return bytes
}
 
func PushImgMsg(is protomsg.Recvmsg){
    imgPushChan <- is
}
 
var resultMap map[string]protomsg.SdkMessage
 
 
func InitService(){
    imgPushChan = make(chan protomsg.Recvmsg)
    client_push := deliver.NewClient(deliver.PushPull, Url_Service_PUSH)
    client_pull := deliver.NewClient(deliver.PushPull, Url_Service_PULL)
    for {
        select {
            case is := <- imgPushChan:
                b, _ := json.Marshal(is)
                client_push.Send(b)
        }
    }
 
    //接收人脸提取结果
    for {
        resultBytes, err := client_pull.Recv()
        if err !=nil{
            fmt.Println("pull err:",err)
            continue
        }
        rMsg := protomsg.SdkMessage{}
        if err := proto.Unmarshal(resultBytes, &rMsg);err !=nil{
            fmt.Println("recv MSG:",rMsg)
            resultMap[rMsg.Cid] = rMsg
        }
 
    }
 
}