Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "bufio"
- "fmt"
- "log"
- "net"
- "time"
- )
- func main() {
- // fmt.Println("hello world")
- timeout := time.Duration(2 * time.Second)
- // _ , err := net.DialTimeout("tcp", "localhost:10800", timeout)
- // if err != nil {
- // log.Println("Sit unreachable, error", err)
- // } else {
- // log.Printf("ok")
- // }
- ports := []int{10800, 10801, 8123, 2200, 31500, 8888}
- for _, port := range ports {
- // log.Println(port)
- remote := fmt.Sprintf("localhost:%d", port)
- conn, err := net.DialTimeout("tcp", remote, timeout)
- if err != nil {
- raddr, err := net.ResolveUDPAddr("udp", remote)
- udp_conn, err := net.DialUDP("udp", nil, raddr)
- defer udp_conn.Close()
- if err != nil {
- log.Printf("udp open error: %v", err)
- continue
- } else {
- p := make([]byte, 1)
- udp_conn.Write([]byte("ping"))
- _, err := bufio.NewReader(udp_conn).Read(p)
- if err != nil {
- log.Println("udp read error: ", err)
- continue
- } else {
- log.Printf("%s udp ok", remote)
- }
- }
- } else {
- defer conn.Close()
- log.Printf("%s tcp ok", remote)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement