How to use localaddr method of main Package

Best Selenoid code snippet using main.localaddr

获取本机所有相关IP.go

Source:获取本机所有相关IP.go Github

copy

Full Screen

1package main2import (3 "fmt"4 "github.com/astaxie/beego/httplib"5 "io/ioutil"6 "log"7 "net"8 "runtime"9 "strings"10 "sync"11 "time"12)13var L *sync.WaitGroup = new(sync.WaitGroup)14var ip1 chan []string = make(chan []string, 0)15var ip2 chan string = make(chan string, 0)16var ip3 chan string = make(chan string, 0)17func errlog(err error) {18 _, _, fileno, _ := runtime.Caller(1)19 log.Printf("RowNo: %d ,ERROR:%s\n", fileno, err)20}21func GetIntranetIp() {22 //L.Add(1)23 //defer func() {24 // L.Done()25 //}()26 netIP := make([]string, 0)27 addrs, err := net.InterfaceAddrs()28 if err != nil {29 ip1 <- netIP30 errlog(err)31 }32 for _, address := range addrs {33 // 检查ip地址判断是否回环地址34 if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {35 if ipnet.IP.To4() != nil {36 //fmt.Println("ip:", ipnet.IP.String())37 netIP = append(netIP, ipnet.IP.String())38 }39 }40 }41 ip1 <- netIP42}43func get_external() {44 //L.Add(1)45 //defer func() {46 // L.Done()47 //}()48 rq := httplib.Get("http://myexternalip.com/raw").SetTimeout(time.Duration(5)*time.Second, time.Duration(5)*time.Second)49 resp, err := rq.Response()50 if err != nil {51 ip2 <- ""52 errlog(err)53 return54 }55 content, err := ioutil.ReadAll(resp.Body)56 if err != nil {57 ip2 <- ""58 errlog(err)59 return60 }61 tmp := string(content)62 tmp = strings.TrimSpace(tmp)63 tmp = strings.Trim(tmp, "\n")64 //resp, err := http.Get("http://myexternalip.com/raw")65 //if err != nil {66 // ip2 <- ""67 // errlog(err)68 //}69 //defer resp.Body.Close()70 //content, _ := ioutil.ReadAll(resp.Body)71 ////buf := new(bytes.Buffer)72 ////buf.ReadFrom(resp.Body)73 ////s := buf.String()74 //tmp := string(content)75 //tmp = strings.TrimSpace(tmp)76 //tmp = strings.Trim(tmp, "\n")77 ip2 <- tmp78 //fmt.Println(string(content))79}80func GetOutboundIP() {81 //L.Add(1)82 //defer func() {83 // L.Done()84 //}()85 //conn, err := net.Dial("udp", "8.8.8.8:80")86 conn, err := net.DialTimeout("tcp", "172.16.71.17:22", time.Duration(15)*time.Second)87 if err != nil {88 ip3 <- ""89 errlog(err)90 }91 defer conn.Close()92 //localAddr := conn.LocalAddr().(*net.UDPAddr)93 localAddr := conn.LocalAddr().(*net.TCPAddr)94 //fmt.Println(localAddr.IP)95 //return localAddr.IP96 //fmt.Printf("%T,%s\n",localAddr.IP,localAddr.IP)97 tmp := fmt.Sprintf("%s", localAddr.IP)98 tmp = strings.TrimSpace(tmp)99 tmp = strings.Trim(tmp, "\n")100 ip3 <- tmp101}102func main() {103 fmt.Println("======================== 除回环以外 所有IP=================================")104 go GetIntranetIp() // 除回环以外 所有IP105 fmt.Println("======================== 公网出网IP=================================")106 go get_external()107 fmt.Println("======================== 首选的出站内网IP地址=================================")108 go GetOutboundIP()109 //L.Wait()110 fmt.Printf("%-16s%v\n", "除回环以外所有IP :", <-ip1)111 fmt.Printf("%-16s%s\n", "公网出网IP :", <-ip2) // ip2 会带有换行字符112 fmt.Printf("%-16s%s\n", "首选的出站内网IP地址:", <-ip3)113}...

Full Screen

Full Screen

serve.go

Source:serve.go Github

copy

Full Screen

1package main23import (4 "log"56 "git.oschina.net/cloudzone/smartgo/stgnet/netm"7)89type DemoContextListener struct {10}1112func (listener *DemoContextListener) OnContextConnect(ctx netm.Context) {13 log.Printf("one connection create: addr[%s] localAddr[%s] remoteAddr[%s]\n", ctx.Addr(), ctx.LocalAddr(), ctx.RemoteAddr())14}1516func (listener *DemoContextListener) OnContextClose(ctx netm.Context) {17 log.Printf("one connection close: addr[%s] localAddr[%s] remoteAddr[%s]\n", ctx.Addr(), ctx.LocalAddr(), ctx.RemoteAddr())18}1920func (listener *DemoContextListener) OnContextError(ctx netm.Context) {21 log.Printf("one connection error: addr[%s] localAddr[%s] remoteAddr[%s]\n", ctx.Addr(), ctx.LocalAddr(), ctx.RemoteAddr())22}2324func (listener *DemoContextListener) OnContextIdle(ctx netm.Context) {25 log.Printf("one connection idle: addr[%s] localAddr[%s] remoteAddr[%s]\n", ctx.Addr(), ctx.LocalAddr(), ctx.RemoteAddr())26}2728func main() {29 b := netm.NewBootstrap().SetIdle(10).RegisterContextListener(&DemoContextListener{})30 b.SetKeepAlive(false).Bind("0.0.0.0", 8000).31 RegisterHandler(func(buffer []byte, ctx netm.Context) {32 log.Printf("serve receive msg form %s, local[%s]. msg: %s", ctx.RemoteAddr().String(), ctx.LocalAddr().String(), string(buffer))33 ctx.Write([]byte("hi, client"))34 }).Sync()35} ...

Full Screen

Full Screen

main.go

Source:main.go Github

copy

Full Screen

1package main2import (3 "fmt"4 "time"5 "github.com/tal-tech/go-zero/core/logx"6)7var (8 chanEXIT = make(chan struct{}, 1)9 // chanStart = make(chan struct{}, 1)10)11type (12 req struct {13 Msg string `json:"msg"`14 Num int `json:"num"`15 LocalAddr string `json:"local_addr"`16 }17 resp struct {18 Msg string `json:"msg"`19 LocalAddr string `json:"local_addr"`20 }21)22func (r req) String() string {23 return fmt.Sprintf("Msg:%s,Num:%d,LocalAddr:%s", r.Msg, r.Num, r.LocalAddr)24}25func (r resp) String() string {26 return fmt.Sprintf("Msg:%s,LocalAddr:%s", r.Msg, r.LocalAddr)27}28func main() {29 // 服务端30 go server()31 // 客户端32 time.Sleep(time.Second * 2)33 //client()34 pollclient()35 time.Sleep(time.Second * 10)36 logx.Info("main: exit")37}...

Full Screen

Full Screen

localaddr

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 addrs, err := net.InterfaceAddrs()4 if err != nil {5 fmt.Println(err)6 }7 for _, address := range addrs {8 fmt.Println(address.Network())9 }10}

Full Screen

Full Screen

localaddr

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 conn, err := net.Dial("tcp", "www.google.com:80")4 if err != nil {5 fmt.Println(err)6 }7 defer conn.Close()8 localAddr := conn.LocalAddr()9 fmt.Println(localAddr)10 fmt.Printf("The local address is %s\n", localAddr)11}

Full Screen

Full Screen

localaddr

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 conn, err := net.Dial("tcp", "google.com:80")4 if err != nil {5 panic(err)6 }7 defer conn.Close()8 fmt.Println("Local Address:", conn.LocalAddr())9}

Full Screen

Full Screen

localaddr

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 conn, err := net.Dial("tcp", "www.google.com:80")4 if err != nil {5 fmt.Println("Error in dialing")6 }7 defer conn.Close()8 localAddr := conn.LocalAddr()9 fmt.Println("Local Address is :", localAddr)10}

Full Screen

Full Screen

localaddr

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 conn, err := net.Dial("tcp", "www.google.com:80")4 if err != nil {5 fmt.Println(err)6 }7 defer conn.Close()8 localAddr := conn.LocalAddr()9 fmt.Println(localAddr)10}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Selenoid automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful