Files
PandaX/iothub/client/updclient/udp.go
2023-10-26 09:00:38 +08:00

45 lines
938 B
Go

package udpclient
import (
"encoding/hex"
"net"
"pandax/pkg/global"
)
type UdpClientT struct {
Conn *net.UDPConn
Addr *net.UDPAddr
}
var UdpClient = make(map[string]*UdpClientT)
func Send(deviceId, msg string) error {
if conn, ok := UdpClient[deviceId]; ok {
global.Log.Infof("设备%s, 发送指令%s", deviceId, msg)
_, err := conn.Conn.WriteToUDP([]byte(msg), conn.Addr)
if err != nil {
return err
}
} else {
global.Log.Infof("设备%s TCP连接不存在, 发送指令失败", deviceId)
}
return nil
}
func SendHex(deviceId, msg string) error {
if conn, ok := UdpClient[deviceId]; ok {
global.Log.Infof("设备%s, 发送指令%s", deviceId, msg)
b, err := hex.DecodeString(msg)
if err != nil {
return err
}
_, err = conn.Conn.WriteToUDP(b, conn.Addr)
if err != nil {
return err
}
} else {
global.Log.Infof("设备%s TCP连接不存在, 发送指令失败", deviceId)
}
return nil
}