1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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)
- }
- }
- }
|