package msg import ( "encoding/json" "plc-recorder/util" "time" "plc-recorder/config" "plc-recorder/logger" "plc-recorder/nsqclient" ) func SendDeviceLiveData(response *PLCResponse) { logger.Debug("plc live data: %+v", response) b, _ := json.Marshal(response) // nsq 发布 nsqclient.Produce(config.Options.PubPLCDataTopic, b) // aps 发布 if config.Options.PostPLCDataWebApi != "" { _, err := util.HttpPost(config.Options.PostPLCDataWebApi, b) if err != nil { logger.Warn(err.Error()) } } } func TestSendDeviceLiveData() { for i := 1; i > 0; i++ { countData := util.IntToBytes(123) response := PLCResponse{ DeviceID: "0000", DeviceName: "test", DeviceIP: "0.0.0.0", Online: true, Message: "", PLCData: []PLCData{{ StartAddress: 100, Length: 1, Type: "int", FieldName: "生产计数", RawData: countData, }, }, } SendDeviceLiveData(&response) time.Sleep(3 * time.Second) } }