golang的net
库可以实现socket编程
介绍
golang net
包提供了对 socket 编程的支持,socket 分为服务端和客户端。
- TCP/UDP 服务端开发
- 创建监听,使用 Listen 创建监听服务
- 循环接收客户端连接
- 数据处理(向客户端发送数据和接收客户端数据)
- 关闭监听服务
- TCP/UDP 客户端开发
- 连接到服务器,使用 Diag 接收服务端数据
- 数据处理(向服务端发送数据和接收服务端数据)
- 关闭连接
更多参考:网路协议
常用函数
Listen
TCP 监听服务创建
ListenPacket
UDP 服务器端连接创建
Dial("tcp", addr)
客户端创建与服务器的连接
JoinHostPort
连接地址与端口
SplitHostPort
分别返回地址与端口
LookupAddr
根据地址查找主机名
LookupCNAME
查询别名
LookupHost
根据主机名查找地址
- LookupIP
ParseCIDR
解析CIDR格式IP
- ParseIP
- IPNet
TCPConn/UDPConn
UnixConn/UnixListener
Read/Write()
ReadFrom([]byte)/WriteTo([]byte, addr)
示例
Go net 网络模块