Browse Source

只用于服务器ip切换、上报

mxs 1 year ago
parent
commit
10d53592ac
2 changed files with 71 additions and 72 deletions
  1. 15 15
      src/main.go
  2. 56 57
      src/util.go

+ 15 - 15
src/main.go

@@ -62,9 +62,9 @@ func main() {
 			time.Sleep(time.Duration(config.Interval) * time.Minute)
 		}
 	}()
-	client, _ = mu.StartClient(func(p *mu.Packet) {}, config.ServerAddr, config.VpsName, []int{})
-	udpclient = mu.UdpClient{Local: config.LocalUdpAddr, BufSize: 128}
-	udpclient.Listen(processUdpMsg)
+	//client, _ = mu.StartClient(func(p *mu.Packet) {}, config.ServerAddr, config.VpsName, []int{})
+	//udpclient = mu.UdpClient{Local: config.LocalUdpAddr, BufSize: 128}
+	//udpclient.Listen(processUdpMsg)
 	fmt.Println("Udp服务监听:", config.LocalUdpAddr)
 	lock := make(chan bool)
 	<-lock
@@ -87,18 +87,18 @@ func runChangeIP() {
 	//ip切换成功,推送消息
 }
 
-func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
-	switch act {
-	case mu.OP_JOIN:
-		cacheLock.Lock()
-		cache[ra.String()] = &DownloaderItem{
-			Addr: ra,
-			Code: string(data),
-		}
-		cacheLock.Unlock()
-		fmt.Println("加入", ra.String(), string(data))
-	}
-}
+//func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
+//	switch act {
+//	case mu.OP_JOIN:
+//		cacheLock.Lock()
+//		cache[ra.String()] = &DownloaderItem{
+//			Addr: ra,
+//			Code: string(data),
+//		}
+//		cacheLock.Unlock()
+//		fmt.Println("加入", ra.String(), string(data))
+//	}
+//}
 
 //推送消息
 func timeTaskSendMsg() {

+ 56 - 57
src/util.go

@@ -3,10 +3,8 @@ package main
 import (
 	"fmt"
 	"io"
-	"io/ioutil"
 	mu "mfw/util"
 	"net"
-	"net/http"
 	"os"
 	"os/exec"
 	"strings"
@@ -77,8 +75,8 @@ func checkSpeed(addr string, updatename bool) (float64, float64) {
 
 // 切换IP
 func changeIP() {
-	sendMessageBeforChangeIp()
-	defer sendMessageAfterChangeIp()
+	//sendMessageBeforChangeIp()
+	//defer sendMessageAfterChangeIp()
 	changeOK := false
 	for i := 1; i <= 5; i++ {
 		fmt.Println("start change ip...")
@@ -112,62 +110,63 @@ func changeIP() {
 		os.Exit(-1)
 	}
 }
-func sendMessageBeforChangeIp() {
-	fmt.Println("切换IP前发送消息...")
-	bs := []byte{}
-	for _, v := range cache {
-		udpclient.WriteUdp([]byte{}, mu.OP_WILLCHANGEIP, v.Addr) //udp通知本服务器的下载器节点要切换ip,下掉所有服务
-		bs = append(bs, []byte(v.Code)...)
-	}
-	client.WriteObj("", "", mu.SERVICE_DOWNLOAD_DELETE_NODE, mu.SENDTO_TYPE_ALL_RECIVER, bs)
-}
 
-func sendMessageAfterChangeIp() {
-	fmt.Println("切换IP后发送消息...")
-	cacheLock.Lock()
-	for k, v := range cache { //告诉下载器重连
-		udpclient.WriteUdp([]byte{}, mu.OP_NEWCLIENT, v.Addr)
-		delete(cache, k)
-	}
-	cacheLock.Unlock()
-	go func() {
-		for i := 1; i <= 5; i++ {
-			time.Sleep(5 * time.Second)
-			if len(cache) > 0 {
-				bs := []byte{}
-				for k, v := range cache {
-					fmt.Println("本机下载器机器码:", k, v.Code)
-					bs = append(bs, []byte(v.Code)...)
-				}
-				client.WriteObj("", "", mu.SERVICE_DOWNLOAD_APPEND_NODE, mu.SENDTO_TYPE_ALL_RECIVER, bs)
-				return
-			}
-		}
-	}()
-}
+//func sendMessageBeforChangeIp() {
+//	fmt.Println("切换IP前发送消息...")
+//	bs := []byte{}
+//	for _, v := range cache {
+//		udpclient.WriteUdp([]byte{}, mu.OP_WILLCHANGEIP, v.Addr) //udp通知本服务器的下载器节点要切换ip,下掉所有服务
+//		bs = append(bs, []byte(v.Code)...)
+//	}
+//	client.WriteObj("", "", mu.SERVICE_DOWNLOAD_DELETE_NODE, mu.SENDTO_TYPE_ALL_RECIVER, bs)
+//}
+
+//func sendMessageAfterChangeIp() {
+//	fmt.Println("切换IP后发送消息...")
+//	cacheLock.Lock()
+//	for k, v := range cache { //告诉下载器重连
+//		udpclient.WriteUdp([]byte{}, mu.OP_NEWCLIENT, v.Addr)
+//		delete(cache, k)
+//	}
+//	cacheLock.Unlock()
+//	go func() {
+//		for i := 1; i <= 5; i++ {
+//			time.Sleep(5 * time.Second)
+//			if len(cache) > 0 {
+//				bs := []byte{}
+//				for k, v := range cache {
+//					fmt.Println("本机下载器机器码:", k, v.Code)
+//					bs = append(bs, []byte(v.Code)...)
+//				}
+//				client.WriteObj("", "", mu.SERVICE_DOWNLOAD_APPEND_NODE, mu.SENDTO_TYPE_ALL_RECIVER, bs)
+//				return
+//			}
+//		}
+//	}()
+//}
 
 // 获取IP
-func getMyIp() (ip string) {
-	for i := 1; i <= 5; i++ {
-		client := &http.Client{
-			Timeout: 5 * time.Second, // 设置超时时间为5秒
-		}
-		resp, err := client.Get("https://api.ipify.org") // 使用ipify.org提供的IP查询API
-		if err != nil {
-			fmt.Println("获取公网IP失败:", err)
-			continue
-		}
-		ipByte, err := ioutil.ReadAll(resp.Body)
-		if err != nil {
-			fmt.Println("获取公网IP失败:", err)
-			continue
-		}
-		resp.Body.Close()
-		ip = string(ipByte)
-		return
-	}
-	return
-}
+//func getMyIp() (ip string) {
+//	for i := 1; i <= 5; i++ {
+//		client := &http.Client{
+//			Timeout: 5 * time.Second, // 设置超时时间为5秒
+//		}
+//		resp, err := client.Get("https://api.ipify.org") // 使用ipify.org提供的IP查询API
+//		if err != nil {
+//			fmt.Println("获取公网IP失败:", err)
+//			continue
+//		}
+//		ipByte, err := ioutil.ReadAll(resp.Body)
+//		if err != nil {
+//			fmt.Println("获取公网IP失败:", err)
+//			continue
+//		}
+//		resp.Body.Close()
+//		ip = string(ipByte)
+//		return
+//	}
+//	return
+//}
 
 func checkIpAndPort() (sPorts, fPorts []string) {
 	//检测IP