服务发现基础逻辑

This commit is contained in:
2024-10-12 00:38:18 +08:00
parent d1d7f56ce4
commit e6f5aaa02f
10 changed files with 216 additions and 31 deletions
+31
View File
@@ -0,0 +1,31 @@
package service
import (
"encoding/json"
"io"
"net/http"
"work_cation/models"
)
type ClientService struct {
}
var Client = &ClientService{}
func (c *ClientService) GetUser(online *models.Online) (*models.Users, error) {
var user models.Users
resp, err := http.Get(online.Url("/user"))
if err != nil {
return nil, err
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
err = json.Unmarshal(data, &user)
if err != nil {
return nil, err
}
return &user, nil
}
+3 -2
View File
@@ -53,8 +53,9 @@ func (s *serverService) StatusOffline() error {
func (s *serverService) StartListenServer() error {
router := gin.New()
router.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "hello"})
router.GET("/user", func(c *gin.Context) {
user := repo.User.GetUserInfo(global.DB)
c.JSON(200, user)
})
srv := &http.Server{
-1
View File
@@ -48,7 +48,6 @@ func (s *zeroconfService) FindService() (chan *models.Online, error) {
go func(results <-chan *zeroconf.ServiceEntry) {
for entry := range results {
if entry.ServiceInstanceName() == fmt.Sprintf("%s._http._tcp.local.", cfg.T.ZeroconfKey) {
//fmt.Printf("发现服务: %s \nIP:%s:%d \nInfo: %v\n", entry.ServiceInstanceName(), entry.AddrIPv4, entry.Port, entry.Text)
online, err := models.NewOnline(entry)
if err != nil {
continue