go语法
tcp
服务器
1 | |
客户端
1 | |
控制TCP连接
设置建立连接的超时时间,客户端和服务器端都适用,当超过设置时间时,连接自动关闭。
1
func DialTimeout(net, addr string, timeout time.Duration) (Conn, error)用来设置写入/读取一个连接的超时时间。当超过设置时间时,连接自动关闭。
1
2func (c *Conn) SetReadDeadline(t time.Time) error
func (c *Conn) SetWriteDeadline(t time.Time) error设置keepAlive属性,是操作系统层在tcp上没有数据和ACK的时候,会间隔性的发送keepalive包,操作系统可以通过该包来判断一个tcp连接是否已经断开,在windows上默认2个小时没有收到数据和keepalive包的时候人为tcp连接已经断开,这个功能和我们通常在应用层加的心跳包的功能类似。
1
func (c *Conn) SetKeepAlive(keepalive bool) os.Error
UDP
服务器
1 | |
客户端
1 | |