From 3a5ac93d06d990bc46ebe4802b59d322775c05a9 Mon Sep 17 00:00:00 2001 From: shikong <919411476@qq.com> Date: Sat, 25 Jan 2025 19:16:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=90=AF=E5=8A=A8=E6=97=B6?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=20register?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/client/main.go | 2 +- pkg/services/device/register.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cmd/client/main.go b/cmd/client/main.go index 9bb86b7..5a05a50 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -79,8 +79,8 @@ func main() { time.Sleep(1 * time.Second) - device.Register(client, clientConfig) message.SetupMessageHandler(srv, client, clientConfig) + device.SetupRegister(client, clientConfig) keepalive.SetupKeepalive(client, clientConfig) device.StartKeepAlive(client) defer device.StopKeepAlive() diff --git a/pkg/services/device/register.go b/pkg/services/device/register.go index bd704f3..e39b0d0 100644 --- a/pkg/services/device/register.go +++ b/pkg/services/device/register.go @@ -11,6 +11,19 @@ import ( "time" ) +var registerSenders = make(map[string]*time.Ticker) + +func SetupRegister(client *sipgo.Client, clientConfig *config.ClientConfig) { + timer := time.NewTicker(time.Second * 3600) + registerSenders[clientConfig.DeviceId] = timer + go func() { + for range timer.C { + Register(client, clientConfig) + } + }() + Register(client, clientConfig) +} + func Register(client *sipgo.Client, clientConfig *config.ClientConfig) { target := sip.Uri{ User: clientConfig.ServerId, @@ -83,6 +96,8 @@ func Register(client *sipgo.Client, clientConfig *config.ClientConfig) { if resp.StatusCode != 403 { log.Log().Info().Msgf("设备:%s 注册成功", clientConfig.DeviceId) + } else { + log.Log().Error().Msgf("设备:%s 注册失败", clientConfig.DeviceId) } log.Log().Info().Msgf(resp.String())