use-go / onvif

full and enhanced onvif protocol stack in golang.
MIT License
384 stars 180 forks source link

memery leak many socket not close #20

Closed dcboy closed 1 year ago

dcboy commented 2 years ago

memery leak many socket not close for latest version

    dev, err := goonvif.NewDevice(addr)
    if err != nil {
        log.Errorf(this.tag, "[ONVIF]:sync time to addr:%s error: %s", addr, err.Error())
        return
    }
    dev.Authenticate(userName, password)
    res, err := dev.CallMethod(device.SetSystemDateAndTime{
        XMLName:         "",
        DateTimeType:    "Manual",
        DaylightSavings: false,
        TimeZone: onvif.TimeZone{
            TZ: "CST-8:00:00",
        },
        UTCDateTime: onvif.DateTime{
            Time: onvif.Time{
                Hour:   (xsd.Int)(time.Now().UTC().Hour()),
                Minute: (xsd.Int)(time.Now().UTC().Minute()),
                Second: (xsd.Int)(time.Now().UTC().Second()),
            },
            Date: onvif.Date{
                Year:  (xsd.Int)(time.Now().UTC().Year()),
                Month: (xsd.Int)(time.Now().UTC().Month()),
                Day:   (xsd.Int)(time.Now().UTC().Day()),
            },
        },
    })