go语言中的tcpconn是阻塞还是非阻塞的

go语言中的tcpconn是阻塞还是非阻塞的,第1张

阻塞socket和非阻塞socket的区别: 1、读操作 对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。

几乎每个IT的同学都知道 HTTP底层是 TCP,也知道多个HTTP请求可以复用一个TCP连接,但究其细节又不甚了解。

那么HTTP 请求何时才能复用一个TCP连接呢?我们先做个例子

输出的结果如下

也就是说底层并没有复用。也可以通过命令行查看连接,的确是建立了两条连接。

仔细阅读 go的http包,可以发现

只有当前一次的请求的数据被读完并且关闭请求后,才能复用

我们改造一下这个例子

输出的结果如下

通过Linux系统查看也只有一个连接。

只通过这个无法判断电脑是不是有病毒的,如果怀疑电脑中病毒了,用杀毒软件查杀一下病毒,一般有的话都能清除掉的,病毒清除掉就没有问题了,如果电脑上没有杀毒软件,可以到瑞星网站下载永久免费的瑞星杀毒软件,升级到最新版本,全盘进行查杀一下。然后安装一下瑞星安全助手,全面对电脑做下体检,修复一下检测到的系统方面的问题。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/347545.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存