554325746@qq.com
2019-06-29 e3b3b542a7d5f1b627805f9d5e56e66ea62568fc
can use with web and camera
6个文件已修改
85 ■■■■ 已修改文件
camera/camera.go 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.mod 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.sum 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk/sdk.go 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test 补丁 | 查看 | 原始文档 | blame | 历史
util/util.go 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
camera/camera.go
@@ -39,8 +39,6 @@
    //  web端初始化
    CreateCamera("virtual-faceextract-sdk-pull_2" , "web")
//    go AutoDelCamera(util.Cameraflag)
}
@@ -113,33 +111,42 @@
func Recv(socket SocketContext, remote string ) {
    var recvmsg  protomsg.Recvmsg
    var recvmessage []byte
    var imagemsg  protomsg.Image
    var err error
    for {
        select {
        case <-socket.Context.Done():
            fmt.Println("listen recv quit")
            return
        default:
            if msg, err := socket.Sock.Recv(); err != nil {
            if recvmessage, err = socket.Sock.Recv(); err != nil {
                fmt.Println("err is: ", err)
                continue
            } else {
                 if  err := proto.Unmarshal(msg,&recvmsg);  err != nil {
                     fmt.Println("recv msg is not protomsg.Recvmg")
                     continue
                 }
            }
            unmsg, err := util.UnCompress(recvmessage)
            if err != nil {
                fmt.Println(err)
                continue
            }
            if  err := proto.Unmarshal(unmsg,&imagemsg);  err != nil {
               fmt.Println("recv msg is not protomsgImage")
               continue
            }
            fmt.Println("============== one msg input ==========")
            switch remote {
               case "camera":
                    for _, taskid := range GetAlltask(recvmsg.Id) {
                        // time.Sleep(5 * time.Second)
                        fmt.Println("id: ", recvmsg.Id , " taskid: ", taskid)
                        Taskdolist(recvmsg.Id, recvmsg.Addr, taskid, recvmsg.Picdata)
                    for _, taskid := range GetAlltask(imagemsg.Cid) {
                       //  time.Sleep(5 * time.Second)
                        fmt.Println("id: ", imagemsg.Cid, " taskid: ", taskid)
                        Taskdolist(imagemsg.Cid, "", taskid, recvmessage)
                    }
               case  "web":
                        fmt.Println("id: ", recvmsg.Id , " taskid: ", "92496BDF-2BFA-98F2-62E8-96DD9866ABD2")
                        Taskdolist(recvmsg.Id, recvmsg.Addr, "92496BDF-2BFA-98F2-62E8-96DD9866ABD2", recvmsg.Picdata)
                        fmt.Println("id: ", imagemsg.Cid , " taskid: ", "92496BDF-2BFA-98F2-62E8-96DD9866ABD2")
                        Taskdolist(imagemsg.Cid,"", "92496BDF-2BFA-98F2-62E8-96DD9866ABD2", recvmessage)
           }
        }
    }
go.mod
@@ -4,12 +4,13 @@
require (
    basic.com/dbapi.git v0.0.0-20190620073851-30a7d0574bbc
    basic.com/pubsub/protomsg.git v0.0.0-20190626081036-01b33da00793
    basic.com/pubsub/protomsg.git v0.0.0-20190628022108-13a4fccc509f
    basic.com/valib/deliver.git v0.0.0-20190529080650-3e64847c9bce
    github.com/ajg/form v1.5.1 // indirect
    github.com/gogo/protobuf v1.2.1
    github.com/golang/protobuf v1.3.1
    github.com/gorilla/websocket v1.4.0 // indirect
    github.com/pierrec/lz4 v2.0.5+incompatible
    github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a
    github.com/tmthrgd/go-sem v0.0.0-20160607101025-0214dbf53877 // indirect
    github.com/tmthrgd/go-shm v0.0.0-20170117044846-90afcfcd5ee9 // indirect
go.sum
@@ -6,6 +6,8 @@
basic.com/pubsub/protomsg.git v0.0.0-20190621090107-c5cf390e19bb/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20190626081036-01b33da00793 h1:dy4DnHRIcQf5DaiLl/IwE3fqZ6a21MXqMTFUmmVAG1c=
basic.com/pubsub/protomsg.git v0.0.0-20190626081036-01b33da00793/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20190628022108-13a4fccc509f h1:mBsaoP1YlsFkgBwxm2KQ9U80Lj2b2wf3gowPlxf5ifQ=
basic.com/pubsub/protomsg.git v0.0.0-20190628022108-13a4fccc509f/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/valib/deliver.git v0.0.0-20190529080650-3e64847c9bce h1:/D6k+FVN1sMqLz6tMlsIl9bKwE2Mpc5d4QfPh0y4DSQ=
basic.com/valib/deliver.git v0.0.0-20190529080650-3e64847c9bce/go.mod h1:bkYiTUGzckyNOjAgn9rB/DOjFzwoSHJlruuWQ6hu6IY=
github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU=
@@ -20,6 +22,8 @@
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/tmthrgd/go-sem v0.0.0-20160607101025-0214dbf53877 h1:n65+IT/xy5+trHm3Zpg9+j7IO4n8pBcPzvaKbMolW8U=
sdk/sdk.go
@@ -101,8 +101,8 @@
func Dealextern() {
    for {
        select {
            case esmsg:= <-SdkMap["es"]:
                fmt.Println(esmsg)
            case <-SdkMap["es"]:
                fmt.Println("es finanl sdk!")
        }
    }
}
@@ -240,6 +240,7 @@
                if err != nil {
                    fmt.Println("proto marshal error ", err)
                    continue
                }
                
                fmt.Printf("从管道sdkid=%s 接受数据 %d\n", sdkid, len(data))
                fmt.Println()
@@ -256,5 +257,4 @@
            }
        }
    }
}
}
test
Binary files differ
util/util.go
@@ -1,5 +1,12 @@
package util
import(
        "github.com/pierrec/lz4"
        "fmt"
       )
//  1. oldstring element is not in new  : abandon(delete)
//  2. new element is not in oldstring  : add(add)
func Difference(oldstring []string, newstring []string) map[string]string {
@@ -31,3 +38,31 @@
    }
    return diff
}
// UnCompress uncompress
func UnCompress(in []byte) ([]byte, error) {
    out := make([]byte, 10*len(in))
         n, err := lz4.UncompressBlock(in, out)
         if err != nil {
             fmt.Println("uncompress error: ", err)
             return nil, err
         }
     out = out[:n] // uncompressed data
     return out, nil
}
// Compress compress
func Compress(in []byte) ([]byte, error) {
    out := make([]byte, len(in))
         ht := make([]int, 64<<10) // buffer for the compression table
         n, err := lz4.CompressBlock(in, out, ht)
         if err != nil {
             fmt.Println("compress: ", err)
                 return nil, err
         }
     if n >= len(in) {
         fmt.Println("image is not compressible")
     }
     out = out[:n] // compressed data
         return out, nil
}