Browse Source

change udp

master
godo 9 months ago
parent
commit
0327506d4e
  1. 16
      godo/libs/dir.go
  2. 4
      godo/localchat/linux.go
  3. 8
      godo/localchat/udp.go
  4. 4
      godo/localchat/windows.go

16
godo/libs/dir.go

@ -7,6 +7,14 @@ import (
"runtime" "runtime"
) )
var UdpMap = map[string]any{
"port": "20249",
"ips": []string{
"224.0.0.251",
"255.255.255.255",
},
}
func InitServer() error { func InitServer() error {
err := LoadConfig() err := LoadConfig()
if err != nil { if err != nil {
@ -31,7 +39,7 @@ func InitServer() error {
SetConfig(osInfo) SetConfig(osInfo)
udpAddr := ReqBody{ udpAddr := ReqBody{
Name: "udpAddr", Name: "udpAddr",
Value: "224.0.0.251:20249", Value: UdpMap,
} }
SetConfig(udpAddr) SetConfig(udpAddr)
} }
@ -56,12 +64,12 @@ func GetOsDir() (string, error) {
} }
return osDir.(string), nil return osDir.(string), nil
} }
func GetUdpAddr() string { func GetUdpAddr() map[string]any {
udp, ok := GetConfig("udpAddr") udp, ok := GetConfig("udpAddr")
if !ok { if !ok {
return "224.0.0.251:20249" return UdpMap
} }
return udp.(string) return udp.(map[string]any)
} }
func GetAppDir() (string, error) { func GetAppDir() (string, error) {
homeDir, err := os.UserHomeDir() homeDir, err := os.UserHomeDir()

4
godo/localchat/linux.go

@ -9,8 +9,8 @@ import (
"net" "net"
) )
func SendBroadcast(message UdpMessage) error { func SendBroadcast(broadcastAddr string, message UdpMessage) error {
broadcastAddr := GetBroadcastAddr()
addr, err := net.ResolveUDPAddr("udp4", broadcastAddr) addr, err := net.ResolveUDPAddr("udp4", broadcastAddr)
if err != nil { if err != nil {
log.Printf("Failed to resolve UDP address %s: %v", broadcastAddr, err) log.Printf("Failed to resolve UDP address %s: %v", broadcastAddr, err)

8
godo/localchat/udp.go

@ -41,8 +41,12 @@ func InitBroadcast() {
Message: "", Message: "",
} }
//发送多播消息 //发送多播消息
//broadcastAddr := GetBroadcastAddr()
err = SendBroadcast(message) err = SendBroadcast("224.0.0.251:20249", message)
if err != nil {
log.Println("Failed to send broadcast message:", err)
}
err = SendBroadcast("255.255.255.255:20249", message)
if err != nil { if err != nil {
log.Println("Failed to send broadcast message:", err) log.Println("Failed to send broadcast message:", err)
} }

4
godo/localchat/windows.go

@ -9,8 +9,8 @@ import (
"net" "net"
) )
func SendBroadcast(message UdpMessage) error { func SendBroadcast(broadcastAddr string, message UdpMessage) error {
broadcastAddr := GetBroadcastAddr()
addr, err := net.ResolveUDPAddr("udp4", broadcastAddr) addr, err := net.ResolveUDPAddr("udp4", broadcastAddr)
if err != nil { if err != nil {
log.Printf("Failed to resolve UDP address %s: %v", broadcastAddr, err) log.Printf("Failed to resolve UDP address %s: %v", broadcastAddr, err)

Loading…
Cancel
Save