Skip to content

Commit e0f6441

Browse files
committed
mdns携带添加本网关信息,未来将去除grpcapi
1 parent c2ecdef commit e0f6441

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

client/aar.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,17 @@ func regMDNS(port int) {
7070
} else if len(interfaces) > 0 {
7171
Mac = interfaces[0].HardwareAddr.String()
7272
}
73+
gatewayUUID, serverHost, err := services.GatewayManager.GetLoginInfo()
74+
//qrStr, err := qr.GetQrByIdAndHost(gatewayUUID, serverHost)
7375
//mDNS注册服务
7476
_, err = zeroconf.Register(fmt.Sprintf("OpenIoTHubGateway-%s", config.ConfigMode.GatewayUUID), "_openiothub-gateway._tcp", "local.", port,
7577
[]string{"name=网关",
7678
"model=com.iotserv.services.gateway",
7779
fmt.Sprintf("mac=%s", Mac),
7880
fmt.Sprintf("id=%s", config.ConfigMode.GatewayUUID),
81+
//提供网关添加信息
82+
fmt.Sprintf("RunId=%s", gatewayUUID),
83+
fmt.Sprintf("ServerHost=%s", serverHost),
7984
"author=Farry",
8085
"email=newfarry@126.com",
8186
"home-page=https://github.com/OpenIoTHub",

netservice/services/connect/service/mDns.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ func FindAllmDNS(stream net.Conn, service *models.NewService) error {
4242
})
4343
}
4444
}(entries)
45+
//TODO 发现时间
4546
timeOut := time.Millisecond * time.Duration(config.Second) * 150
4647
ctx, cancel := context.WithTimeout(context.Background(), timeOut)
4748
defer cancel()

services/gatewayManager.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,11 @@ func (gm *GatewayCtl) DisplayQrHandler(w http.ResponseWriter, r *http.Request) {
101101
fmt.Fprintf(w, "no gateway login")
102102
return
103103
}
104-
gatewayUUID := ""
105-
serverHost := ""
106-
for key, sess := range gm.serverSession {
107-
gatewayUUID = key
108-
serverHost = sess.tokenModel.Host
104+
gatewayUUID, serverHost, err := gm.GetLoginInfo()
105+
if err != nil {
106+
w.Header().Set("Content-Type", "text/plain")
107+
fmt.Fprintf(w, err.Error())
108+
return
109109
}
110110

111111
var qrCode *qrcode.QRCode
@@ -122,3 +122,15 @@ func (gm *GatewayCtl) DisplayQrHandler(w http.ResponseWriter, r *http.Request) {
122122
w.Header().Set("ContentType", "image/png")
123123
qrCode.Write(300, w)
124124
}
125+
126+
// DisplayQrHandler 返回二维码
127+
func (gm *GatewayCtl) GetLoginInfo() (gatewayUUID, serverHost string, err error) {
128+
for key, sess := range gm.serverSession {
129+
gatewayUUID = key
130+
serverHost = sess.tokenModel.Host
131+
}
132+
if gatewayUUID == "" && serverHost == "" {
133+
err = errors.New("Not Logged In")
134+
}
135+
return
136+
}

0 commit comments

Comments
 (0)