Go语言中Dial()函数的原型如下:
funcDial(net,addrstring)(Conn,error)
其中net参数是网络协议的名字,addr参数是IP地址或域名,而端口号以“:”的形式跟随在地址或域名的后面,端口号可选。如果连接成功,返回连接对象,否则返回error。
我们来看一下几种常见协议的调用方式。
1)TCP链接:
conn,err:=net.Dial("tcp","192.168.0.10:2100")
2)UDP链接:
conn,err:=net.Dial("udp","192.168.0.12:975")
3)ICMP链接(使用协议名称):
conn,err:=net.Dial("ip4:icmp","www.baidu.com")
4)ICMP链接(使用协议编号):
conn,err:=net.Dial("ip4:1","10.0.0.3")
这里我们可以通过以下链接查看协议编号的含义:http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml。
目前,Dial()函数支持如下几种网络协议:"tcp"、"tcp4"(仅限IPv4)、"tcp6"(仅限IPv6)、"udp"、"udp4"(仅限IPv4)、"udp6"(仅限IPv6)、"ip"、"ip4"(仅限IPv4)和"ip6"
(仅限IPv6)。
在成功建立连接后,我们就可以进行数据的发送和接收。发送数据时,使用conn的Write()成员方法,接收数据时使用Read()方法。