| | |
| | | "time" |
| | | ) |
| | | |
| | | var sock mangos.Socket |
| | | |
| | | var urlPool = make(map[string]chan structure.ResultMsg) |
| | | func Die(format string, v ...interface{}) { |
| | | logger.Info("+++++++",format) |
| | |
| | | |
| | | func Init(){ |
| | | |
| | | var err error |
| | | |
| | | if sock, err = req.NewSocket(); err != nil { |
| | | Die("创建请求socket失败: %s", err.Error()) |
| | | } |
| | | errSize := sock.SetOption(mangos.OptionMaxRecvSize,30*1024*1024) |
| | | if errSize != nil { |
| | | logger.Error("传输的数据超过大小限制") |
| | | return |
| | | } |
| | | errTimeOut := sock.SetOption(mangos.OptionRecvDeadline,time.Millisecond * 2000) |
| | | if errTimeOut != nil { |
| | | logger.Error("接收响应超时") |
| | | return |
| | | } |
| | | var api dbapi.EventPushApi |
| | | b, allRules := api.FindAllDetails() |
| | | logger.Info("查看所有规则组:", allRules) |
| | | logger.Info("初始化事件推送,查看所有规则组:", allRules) |
| | | if !b { |
| | | logger.Error("查询时间推送规则失败!") |
| | | } |
| | |
| | | func GoPush(url string) { |
| | | var err error |
| | | var msg []byte |
| | | var sock mangos.Socket |
| | | if sock, err = req.NewSocket(); err != nil { |
| | | Die("创建请求socket失败: %s", err.Error()) |
| | | } |
| | | errSize := sock.SetOption(mangos.OptionMaxRecvSize,30*1024*1024) |
| | | if errSize != nil { |
| | | logger.Error("传输的数据超过大小限制") |
| | | return |
| | | } |
| | | errTimeOut := sock.SetOption(mangos.OptionRecvDeadline,time.Millisecond * 2000) |
| | | if errTimeOut != nil { |
| | | logger.Error("接收响应超时") |
| | | return |
| | | } |
| | | sock.AddTransport(tcp.NewTransport()) |
| | | if err = sock.Dial(url); err != nil { |
| | | logger.Error("请求socket拨号失败: %s", err.Error()) |
| | | if err = sock.Dial("tcp://"+url); err != nil { |
| | | logger.Error("请求socket拨号失败: ", err.Error()) |
| | | } |
| | | logger.Info("序列化数据") |
| | | |
| | |
| | | logger.Debug("groutine"+url+"推送数据") |
| | | //bytes := []byte("ndfasojdfaidsos") |
| | | if err = sock.Send(bytes); err != nil { |
| | | Die("推送socket发送数据失败: %s", err.Error()) |
| | | Die("groutine"+url+"推送socket发送数据失败: ", err.Error()) |
| | | } |
| | | msg, err = sock.Recv(); |
| | | if err != nil { |
| | | Die("接收响应失败: %s", err.Error()) |
| | | Die("groutine"+url+"接收响应失败: ", err.Error()) |
| | | } else { |
| | | logger.Debug("事件推送成功!groutine"+url+"收到响应",string(msg)) |
| | | } |
| | | sock.Close() |
| | | |
| | | default: |
| | | |
| | | } |
| | | } |
| | | sock.Close() |
| | | } |
| | | //func main() { |
| | | // url := "tcp://192.168.1.123:40011" |