2023-11-22 14:48:29 +08:00

25 lines
538 B
Go

package internal
import (
"fmt"
"net"
"time"
)
func Check(destination, port string) string {
address := destination + ":" + port
timeout := 5 * time.Second
var status string
conn, err := net.DialTimeout("tcp", address, timeout)
if err != nil {
status = fmt.Sprintf("[下线] %s 无法访问 %v", destination, err)
return status
}
defer func(conn net.Conn) {
_ = conn.Close()
}(conn)
status = fmt.Sprintf("[上线] %s 访问正常\n从: %s\n到: %s", destination, conn.LocalAddr(), conn.RemoteAddr())
return status
}