| | |
| | | "errors" |
| | | "fmt" |
| | | |
| | | // "github.com/long/test/httpclient" |
| | | // "github.com/long/test/httpclient" |
| | | "github.com/long/test/tasktag" |
| | | "github.com/long/test/util" |
| | | |
| | | "github.com/golang/protobuf/proto" |
| | | |
| | | "basic.com/valib/deliver.git" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "basic.com/dbapi.git" |
| | | "basic.com/valib/deliver.git" |
| | | ) |
| | | |
| | | const ( |
| | | postPull="_1.ipc" |
| | | postPush="_2.ipc" |
| | | postPull = "_1.ipc" |
| | | postPush = "_2.ipc" |
| | | ) |
| | | |
| | | var SocketManage = make(map[string]SocketContext) |
| | | |
| | | var sdkapi dbapi.SdkApi |
| | | |
| | | type SocketContext struct { |
| | | Sock deliver.Deliver |
| | |
| | | |
| | | func Init() { |
| | | |
| | | fmt.Println("============= init sdk info =====================") |
| | | sdklist := SdkAll() //获取所有sdk |
| | | SdkCreateTopic(sdklist) // 创建主题 |
| | | fmt.Println("============= init sdk info =====================") |
| | | SdkCreateTopic(util.Sdklist) // 创建主题 |
| | | |
| | | for _, sdkid := range sdklist { // 创建sdk server |
| | | url := fmt.Sprintf("ipc:///tmp/%s%s",sdkid,postPull) |
| | | for _, sdkid := range util.Sdklist { // 创建sdk server |
| | | url := fmt.Sprintf("ipc:///tmp/%s%s", sdkid, postPull) |
| | | sdkidser, socketser, err := NewSdkSocketListen(deliver.PushPull, sdkid, url) |
| | | if err != nil { |
| | | continue |
| | | } |
| | | go Send(sdkidser, socketser, SdkMap[sdkid]) |
| | | |
| | | url = fmt.Sprintf("ipc:///tmp/%s%s",sdkid,postPush) |
| | | url = fmt.Sprintf("ipc:///tmp/%s%s", sdkid, postPush) |
| | | _, socketdial, err := NewSdkSocketListen(deliver.PushPull, sdkid, url) |
| | | if err != nil { |
| | | continue |
| | |
| | | return |
| | | } |
| | | |
| | | // 调用 http 借口获取摄像机信息 |
| | | func SdkAll() (sdklist []string) { |
| | | //sdklist = httpclient.GetSdk("http://192.168.1.124:8000/data/api-v/sdk/findskdid") |
| | | sdklist = sdkapi.GetAllSdkIds() |
| | | return |
| | | } |
| | | |
| | | // 创建主题 |
| | | func SdkCreateTopic(sdklist []string) (err error) { |
| | | for _, sdkid := range sdklist { |
| | |
| | | |
| | | return nil |
| | | } |
| | | |
| | | |
| | | // create server |
| | | func NewSdkSocketListen(mode int, sdkid string, url string) (sid string, socket SocketContext, err error) { |
| | |
| | | |
| | | fmt.Println("send len of data: ", len(data)) |
| | | if err := socket.Sock.Send(data); err != nil { |
| | | fmt.Println(socket.Sock) |
| | | fmt.Println(socket.Sock) |
| | | fmt.Println("failed send") |
| | | continue |
| | | } |