GoLang网络连接 net.Dial
Posted JavaPub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GoLang网络连接 net.Dial相关的知识,希望对你有一定的参考价值。
文章目录
使用栗子
conn, err := net.Dial("tcp", "google.com:80")
if err != nil
// handle error
fmt.Fprintf(conn, "GET / HTTP/1.0\\r\\n\\r\\n")
status, err := bufio.NewReader(conn).ReadString(\\n)
// ...
源码
net.Dial
的源码
// net.Dial函数解读
// 实际是对Dialer.Dial的一个封装, 封装后,可以直接调用Dial拨号,而不需要再去定义一个Dialer结构体对象,利用对象拨号,省去了定义结构体对象,封装时用的同名方法,便于记忆
func Dial(network, address string) (Conn, error)
var d Dialer // 定义了一个 Dialer结构体对象,使用该对象的Dial方法去拨号,所以net.Dial 实际是对Dialer.Dial的一个封装
return d.Dial(network, address)
用法
总之,dial 只是做了一些预设置,并且返回了一个连接对象。
在网络network上连接地址address,并返回一个Conn接口。
可用的网络类型: “tcp”、“tcp4”、“tcp6”、“udp”、“udp4”、“udp6”、“ip”、“ip4”、“ip6”、“unix”、“unixgram”、“unixpacket”
https://www.apiref.com/go-zh/net.htm#Dial
以上是关于GoLang网络连接 net.Dial的主要内容,如果未能解决你的问题,请参考以下文章