package udp import ( "bidding" "encoding/json" log "github.com/donnie4w/go-logger/logger" mu "mfw/util" "net" qu "qfw/util" ) var ( udpclient mu.UdpClient ) func InitUdpMsg() { port := ":5550" udpclient = mu.UdpClient{Local: ":5550", BufSize: 1024} udpclient.Listen(processUdpMsg) log.Debug("监听~", port) } //udp接收 func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) { switch act { case mu.OP_TYPE_DATA: var mapInfo map[string]interface{} err := json.Unmarshal(data, &mapInfo) if err != nil { udpclient.WriteUdp([]byte("err:"+err.Error()), mu.OP_NOOP, ra) } else if mapInfo != nil { sid, eid := qu.ObjToString(mapInfo["gtid"]), qu.ObjToString(mapInfo["lteid"]) if sid == "" || eid == "" { log.Debug("异常~", sid, "~", eid) } else { key := sid + "-" + eid + "-" + qu.ObjToString(mapInfo["stype"]) udpclient.WriteUdp([]byte(key), mu.OP_NOOP, ra) bidding.RunPurchasingInfo(sid, eid, true) } } case mu.OP_NOOP: //下个节点回应 ok := string(data) if ok != "" { log.Debug("ok:", ok) } } }