首先,看一下TCP握手简单描绘过程:
凌河网站建设公司成都创新互联公司,凌河网站设计制作,有大型网站制作公司丰富经验。已为凌河1000多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的凌河做网站的公司定做!
其握手过程原理,就不必说了,有很多详细文章进行叙述,本文只关注研究重点。
在第三次握手过程中,如果服务器收到ACK,就会与客户端建立连接,此时内核会把连接从半连接队列移除,然后创建新的连接,并将其添加到全连接队列,等待进程调用。
如果服务器繁忙,来不及调用连接导致全连接队列溢出,服务器就会放弃当前握手连接,发送RST给客户端,即connection reset by peer。
在linux平台上,客户端在进行高并发TCP连接处理时,最高并发数量都要受系统对用户单一进程同时打开文件数量的限制(这是因为系统每个TCP都是SOCKET句柄,每个soker句柄都是一个文件),当打开连接超过限制,就会出现too many open files。
使用下指令查看最大句柄数量:
增加句柄解决方案
网络连接需要用socket,易语言用查易语言socket用或者看看否TCP协议相关组件
安装:
go get -v -u github点抗 /rocket049/connpool
go get -v -u gitee点抗 /rocket049/connpool
rocket049/connpool 包是本人用go语言开发的,提供一个通用的TCP连接池,初始化参数包括最高连接数、超时秒数、连接函数,放回连接池的连接被重新取出时,如果已经超时,将会自动重新连接;如果没有超时,连接将被复用。
可调用的函数:
调用示例:
网站名称:go语言tcp接口 go语言 socket
网站网址:https://www.cdcxhl.com/article28/ddjspcp.html
成都网站建设公司_创新互联,为您提供虚拟主机、做网站、网站策划、网站收录、响应式网站、品牌网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联