1 Star 0 Fork 0

iiot软件库/driver-develop-go-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
SSv.go 1.39 KB
一键复制 编辑 原始数据 按行查看 历史
常文才 提交于 2021-09-15 16:21 +08:00 . 增加日志
package SendService
import (
"gitee.com/magusiiot/driver-develop-go-demo/send/byteschange"
"github.com/beego/beego/v2/core/logs"
"net"
)
type Config struct {
Ip [4]byte
Port int
TimeWait int
}
type SendMsg struct {
Head []byte
Start []byte
Length []byte
End []byte
MsgMap map[int][2][]byte
Count int
ControlLock int
InitialPosition int
Min int
}
type SendController struct {
Config Config
SendMsg SendMsg
Socket *net.UDPConn
Msg []byte
Err error
}
func (s *SendController) Initialize() {
s.UdpCon()
s.SendMsg.Head = byteschange.IntToBytes(10000)
s.SendMsg.End = byteschange.IntToBytes(10001)
s.SendMsg.ControlLock = 0
logs.Info("初始化完成")
}
func (s *SendController) UdpCon() {
// 创建连接
logs.Info("创建监听:", s.Config.Ip[0], ".", s.Config.Ip[1], ".", s.Config.Ip[2], ".", s.Config.Ip[3], ":", s.Config.Port)
s.Socket, s.Err = net.DialUDP("udp4", nil, &net.UDPAddr{
IP: net.IPv4(s.Config.Ip[0], s.Config.Ip[1], s.Config.Ip[2], s.Config.Ip[3]),
Port: s.Config.Port,
})
if s.Err != nil {
logs.Warn("连接失败!", s.Err)
}
}
func (s *SendController) Send(data []byte) {
s.UdpCon()
s.Msg = data
tmp, err := s.Socket.Write(s.Msg)
if err != nil {
logs.Error("errors:", err)
return
}
logs.Info("Msg Length:", tmp)
logs.Info("% 2x", s.Msg)
s.Socket.Close()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/magusiiot/driver-develop-go-demo.git
git@gitee.com:magusiiot/driver-develop-go-demo.git
magusiiot
driver-develop-go-demo
driver-develop-go-demo
864f6724ae67

搜索帮助