zoukankan      html  css  js  c++  java
  • Go语言的标准net库使用

    Go语言的标准net库使用

    与大多数语言一样,Go的标准库是很全的,因为Go的出现本来就是为了网络通信的高并发实现,所以其相关的网络库封装得很简洁,也更加的易读。这里对使用到的api进行记录。
    net.ResolveIPAddr()
    根据域名查找IP地址

    package main
    
    import(
    	"fmt"
    	"net"
    )
    
    func main(){
    	ip, err := net.ResolveIPAddr("ip", "www.baidu.com")
    	if err != nil{
    		fmt.Println(err)
    		return
    	}
    	fmt.Println(ip)
    }
    

    简单的TCP服务器

    package main
    
    import(
    	"fmt"
    	"net"
    )
    func Read(con net.Conn){
    	data := make([]byte, 1000)
    	for{
    		n, err := con.Read(data)
    		if err != nil{
    			fmt.Println(err)
    			break
    		}
    		fmt.Println(string(data[0:n]))
    	}
    }
    func main(){
    	listen, err := net.Listen("tcp", "192.168.0.101:3569")
    	if err != nil{
    		fmt.Println(err)
    		return
    	}
    	for{
    		con, err := listen.Accept()
    		if err != nil{
    			fmt.Println(err)
    			continue
    		}
    		go Read(con)
    	}
    }
    

    简单的HTTP服务

    package main
    
    import(
    	"fmt"
    	"net/http"
    )
    
    func HandleIndex(w http.ResponseWriter, r *http.Request){
    	r.ParseForm()
    	fmt.Println("PATH: ", r.URL.Path)
    	fmt.Println("SCHEME: ", r.URL.Scheme)
    	fmt.Println("METHOD: ", r.Method)
    	fmt.Println()
    	fmt.Fprintf(w,  "<h1>Index Page</h1>")
    	fmt.Println(w)
    }
    
    func main(){
    	fmt.Println("Start")
    	http.HandleFunc("/", HandleIndex)
    	err := http.ListenAndServe(":8000", nil)
    	if err != nil{
    		fmt.Println(err)
    	}
    }
    
  • 相关阅读:
    python基础知识(集合)
    python基础知识(字典)
    python基础知识(循环语句)
    Python基础知识(程序结构)
    python基础知识(正则表达式)
    python基础知识(字符串)
    jmeer_09_JDBC Request
    性能总结_01
    性能02_
    jmeter_07正则提取器_JDBC_Connection_Configuration
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/9874759.html
Copyright © 2011-2022 走看看