Browse Source

change udp

master
godo 9 months ago
parent
commit
ba79d0a962
  1. 2
      godo/cmd/main.go
  2. 2
      godo/localchat/file.go
  3. 4
      godo/localchat/info.go
  4. 13
      godo/localchat/udp.go

2
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 路由

2
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

4
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)

13
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

Loading…
Cancel
Save