fix: 网元跟踪任务优化socket接收

This commit is contained in:
TsMask
2024-10-15 12:11:05 +08:00
parent 06a9a3986b
commit 318fc6cc20
3 changed files with 38 additions and 27 deletions

View File

@@ -50,22 +50,18 @@ func (s *SocketUDP) Close() {
}
// Resolve 处理消息
func (s *SocketUDP) Resolve(callback func(*net.UDPConn)) error {
func (s *SocketUDP) Resolve(callback func(*net.UDPConn, error)) {
if s.Conn == nil {
return fmt.Errorf("udp service not created")
callback(nil, fmt.Errorf("udp service not created"))
return
}
for {
select {
case <-s.StopChan:
return fmt.Errorf("udp service stop")
callback(nil, fmt.Errorf("udp service not created"))
default:
callback(s.Conn)
// 发送响应
if _, err := s.Conn.WriteTo([]byte("udp>"), s.Conn.RemoteAddr()); err != nil {
fmt.Println("Error sending response:", err)
}
callback(s.Conn, nil)
}
}
}