diff --git a/godo/cmd/main.go b/godo/cmd/main.go index ed44c3a..2421663 100644 --- a/godo/cmd/main.go +++ b/godo/cmd/main.go @@ -81,7 +81,7 @@ func OsStart() { localchatRouter := router.PathPrefix("/localchat").Subrouter() // localchatRouter.HandleFunc("/sse", localchat.SseHandler).Methods(http.MethodGet) localchatRouter.HandleFunc("/message", localchat.HandleMessage).Methods(http.MethodPost) - // localchatRouter.HandleFunc("/upload", localchat.MultiUploadHandler).Methods(http.MethodPost) + localchatRouter.HandleFunc("/file", localchat.FileHandler).Methods(http.MethodPost) // localchatRouter.HandleFunc("/check", localchat.CheckUserHanlder).Methods(http.MethodGet) // 注册 WebDAV 路由 diff --git a/godo/localchat/file.go b/godo/localchat/file.go index 2adaf03..be81e82 100644 --- a/godo/localchat/file.go +++ b/godo/localchat/file.go @@ -35,7 +35,7 @@ func FileHandler(w http.ResponseWriter, r *http.Request) { } defer r.Body.Close() toIp := msg.IP - preferredIP, err := GetMyIp() + preferredIP, err := GetLocalIP() if err != nil { http.Error(w, "Failed to get preferred IP", http.StatusInternalServerError) return diff --git a/godo/localchat/info.go b/godo/localchat/info.go index 29bb6d6..aa57652 100644 --- a/godo/localchat/info.go +++ b/godo/localchat/info.go @@ -12,14 +12,14 @@ func GetMyIPAndHostname() (string, string, error) { if err != nil { return "", "", fmt.Errorf("failed to get hostname: %w", err) } - preferredIP, err := GetMyIp() + preferredIP, err := GetLocalIP() if err != nil { return "", "", fmt.Errorf("failed to get IP address: %w", err) } return preferredIP, hostname, nil } -func GetMyIp() (string, error) { +func GetLocalIP() (string, error) { addrs, err := net.Interfaces() if err != nil { return "", fmt.Errorf("failed to get network interfaces: %w", err) diff --git a/godo/localchat/udp.go b/godo/localchat/udp.go index 79958b1..75ae6b1 100644 --- a/godo/localchat/udp.go +++ b/godo/localchat/udp.go @@ -75,7 +75,8 @@ func SendBroadcast(message UdpMessage) error { defer conn.Close() // 获取本地 IP 地址 - localIP, err := getLocalIP(conn) + localIP, err := GetLocalIP() + log.Printf("本地 IP 地址: %s", localIP) if err != nil { log.Printf("Failed to get local IP address: %v", err) return err @@ -113,7 +114,7 @@ func ListenForBroadcast() { defer conn.Close() // 获取本地 IP 地址 - localIP, err := getLocalIP(conn) + localIP, err := GetLocalIP() if err != nil { log.Printf("Failed to get local IP address: %v", err) } @@ -167,7 +168,7 @@ func SendToIP(message UdpMessage) error { } defer conn.Close() // 获取本地 IP 地址 - localIP, err := getLocalIP(conn) + localIP, err := GetLocalIP() if err != nil { log.Printf("Failed to get local IP address: %v", err) } @@ -193,12 +194,6 @@ func GetOnlineUsers() map[string]UdpMessage { return OnlineUsers } -// getLocalIP 获取本地 IP 地址 -func getLocalIP(conn *net.UDPConn) (string, error) { - localAddr := conn.LocalAddr().(*net.UDPAddr) - return localAddr.IP.String(), nil -} - // HandleMessage 处理 HTTP 请求 func HandleMessage(w http.ResponseWriter, r *http.Request) { var msg UdpMessage