翔云

Just try, don't shy. 最新文章请点击
随笔 - 294, 文章 - 0, 评论 - 27, 阅读 - 49万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Network

摘要:"前文" 中已经介绍了TCP keep alive的做了详尽说明,本文结合golang,介绍如何使用TCP keep alive。 目前golang net包不提供TCP keep alive 、 直接设置。 可以使用第三方包。 1.下载第三方包 注意放到 目录下。 2.例子 2.1 server 阅读全文

posted @ 2019-05-26 22:40 翔云123456 阅读(3313) 评论(0) 推荐(0) 编辑

摘要:TCP是面向连接的,一般情况,两端的应用程序可以通过发送和接收数据得知对端的存活。 当两端的应用程序都没有数据发送和接收时,如何判断连接是否正常呢? 这就是 的作用。 1. SO_KEEPALIVE 的作用 1.1 SO_KEEPALIVE的定义 用于开启或者关闭保活探测,默认情况下是关闭的。 当 阅读全文

posted @ 2019-05-26 17:50 翔云123456 阅读(11844) 评论(1) 推荐(2) 编辑

摘要:网络通信中,为了防止长时间无响应的情况,经常会用到网络连接超时、读写超时的设置。 本文结合例子简介golang的连接超时和读写超时设置。 1.超时设置 1.1 连接超时 第三个参数 可以用来设置连接超时设置。 如果超过 的指定的时间,连接没有完成,会返回超时错误。 1.2 读写超时 在 定义中,包括 阅读全文

posted @ 2019-05-12 16:49 翔云123456 阅读(9507) 评论(0) 推荐(0) 编辑

摘要:"上一篇文章" 中,我们介绍了tcpdump如何抓包。 tcpdump是命令行下便捷的抓包和分析工具,但使用方式不够友好, wireshark是带图形化界面的抓包和分析工具,操作简便,但需要主机有显示器。 所以,在很多场景下,例如,生产环境服务器,可以使用tcpdump抓包保存到文件,然后再由wir 阅读全文

posted @ 2019-04-27 10:55 翔云123456 阅读(1718) 评论(0) 推荐(0) 编辑

摘要:1.RST介绍 RST表示reset复位,用于异常情况下关闭连接。 发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓冲区中的包。 而接收端收到RST包后,也不必发送ACK包来确认。 2. 什么时候发送RST包 建立连接的SYN到达某端口,但是该端口上没有正在 监听的服务。 TCP收到了 阅读全文

posted @ 2019-04-13 21:57 翔云123456 阅读(509) 评论(0) 推荐(0) 编辑

摘要:本文使用两种方式测试HTTP 客户端读数据超时的情况,一种是直接使用golang自带的http库,另一种是使用martini web框架。 1. 测试1 直接使用http库 1.1.启动server server端的请求响应函数,会睡眠10s,再返回结果。这样,可以模拟server端处理慢的情况。 阅读全文

posted @ 2019-04-13 21:37 翔云123456 阅读(1132) 评论(0) 推荐(0) 编辑

摘要:本文介绍3种TCP连接异常的情况。 1.server端没有启动,client尝试连接 通过tcpdump抓包,可以看到当server没有启动的时候,client向server8080端口发送数据后,client端会收到RST。 2.client端读数据,突然异常退出或直接close连接 2.1 准备 阅读全文

posted @ 2019-04-13 21:13 翔云123456 阅读(4678) 评论(0) 推荐(1) 编辑

摘要:tcpdump是抓包常用的工具,可以直接从数据链路层抓取网络数据进行分析。tcpdmp提供了很多命令行参数,提供定制的数据捕获功能。 下面首先会介绍其命令行参数,接着以一个使用场景为例说明使用方法。 1.tcpdump使用说明 1.1 命令行参数 i interface 网络接口,例如lo0, en 阅读全文

posted @ 2019-04-13 19:32 翔云123456 阅读(793) 评论(0) 推荐(0) 编辑

摘要:本文介绍golang中如何进行反向代理。 下面例子中, proxy server接收client 的 http request,转发给true server,并把 true server的返回结果再发送给client。 1.proxy server proxyServer.go代码如下所示。 pro 阅读全文

posted @ 2019-01-19 19:52 翔云123456 阅读(4891) 评论(0) 推荐(0) 编辑

摘要:Linux 系统默认的建立 TCP 连接的超时时间为 127 秒,对于许多客户端来说,这个时间都太长了, 特别是当这个客户端实际上是一个服务的时候,更希望能够尽早失败,以便能够选择其它的可用服务重新尝试。 socket 是 Linux 下实现的传输控制层协议,包括 TCP 和 UDP,一个 sock 阅读全文

posted @ 2018-12-20 21:58 翔云123456 阅读(5410) 评论(0) 推荐(0) 编辑

摘要:下载websocket包 如果下载失败,可能是被墙了。 package golang.org/x/net/websocket: unrecognized import path "golang.org/x/net/websocket" (https fetch: Get https://golang 阅读全文

posted @ 2018-06-16 12:25 翔云123456 阅读(17216) 评论(3) 推荐(0) 编辑

摘要:问题 服务器进程会有一个最大连接数,如果达到最大连接数,server端报错: listener accept fail: accept tcp [::]:6080: accept4: too many open files 此时,client端报错: dial tcp 172.20.152.87:6 阅读全文

posted @ 2018-04-06 17:19 翔云123456 阅读(1074) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示