Go语言网络编程:TCP与UDP的深入探索
1. Go中TCP连接的特殊处理
在网络编程中,使用ICMP进行远程主机的ping操作较为常见,但当中间防火墙过滤ICMP回显消息时,可利用快速建立和拆除TCP连接的方式来实现类似功能。不过,建立TCP连接的开销比ICMP回显请求和响应要大,因此建议仅在必要且获得系统管理员许可的情况下使用。
对于大多数TCP会话, net.Conn 接口提供了足够的功能和良好的跨平台支持。但如果需要对TCP网络连接进行细粒度控制,如修改读写缓冲区、启用保活消息或改变关闭连接时待处理数据的处理方式,就需要访问底层的 net.TCPConn 对象。
1.1 获取net.TCPConn对象
- 类型断言 :适用于底层网络为TCP的连接,示例代码如下:
tcpConn, ok := conn.(*net.TCPConn)
- 服务器端 :使用
net.TCPListener的AcceptTCP方法,示例代码如下:
addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:")
if err != nil {
return err
}
listener,
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



