| | |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | logger "github.com/alecthomas/log4go" |
| | | "basic.com/valib/logger.git" |
| | | "fmt" |
| | | "nanomsg.org/go-mangos" |
| | | "nanomsg.org/go-mangos/protocol/rep" |
| | |
| | | } |
| | | logger.Info("序列化数据") |
| | | |
| | | //for v := range pool{ |
| | | // logger.Info("无限循环",v.Cid) |
| | | //} |
| | | //var ch chan *structure.ResultMsg |
| | | //for _, v := range urlChans { |
| | | // if v.url == url{ |
| | | // ch = v.ch |
| | | // } |
| | | //} |
| | | //logger.Info("chan信息:",urlPool[url]) |
| | | for { |
| | | select { |
| | | // case <-ctx.Done(): |
| | | // return |
| | | case data := <- urlPool[url]: |
| | | //logger.Info("接收到数据",data.Cid) |
| | | //bytes,err1 := proto.Marshal(data) |
| | | |
| | | go func(data []byte) { |
| | | //logger.Info("数据长度为:",len(data)) |
| | | //if err1 != nil { |
| | | // logger.Info("序列化失败:",err1) |
| | | //} |
| | | start := time.Now() |
| | | //logger.Debug("groutine"+url+"推送数据") |
| | | //bytes := []byte("ndfasojdfaidsos") |
| | | if err = sock.Send(data); err != nil { |
| | | Die("groutine"+url+"推送socket发送数据失败: ", err.Error()) |
| | | } |
| | |
| | | } |
| | | }(data) |
| | | default: |
| | | |
| | | time.Sleep(time.Millisecond * 10) |
| | | } |
| | | } |
| | | sock.Close() |