TCP源码分析 - 三次握手之 connect 过程 本文主要分析 TCP 协议的实现,但由于 TCP 协议比较复杂,所以分几篇文章进行分析,这篇主要介绍 TCP 协议建立连接时的三次握手过程。 TCP 协议应该是 TCP/IP 协议栈中最为复杂的一个协议(没有之一),TCP 协议的复杂性来源于其面 ...
分类:
其他好文 时间:
2021-06-28 17:41:33
阅读次数:
0
粘包问题及解决方案 一 什么是粘包问题 前提:只有TCP会发生粘包现象,UDP永远不会粘包。 粘包问题本质上就是接收方不知道消息的边界,不知道一次性该提取多少字节流用于解析消息,造成的消息解析错误问题。 二 为何么会有粘包问题 1 socket收发消息的原理之流式协议 ? 发送端可以是1K1K的发送 ...
分类:
其他好文 时间:
2021-06-25 17:27:19
阅读次数:
0
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Sockets; using Sy ...
分类:
其他好文 时间:
2021-06-16 18:02:41
阅读次数:
0
很多中年朋友大概率学过 socket 通信相关 api, send, recv, listen, connect, accept 等等, 变幻无穷 ... 相关的介绍书籍不乏经典, 有趣例子没完没了. 面对真实的自己, 更多时候是学了等于没学, 一直在门外彷徨 , 买珠还椟于面试. 本文想带门外的程 ...
分类:
其他好文 时间:
2021-06-02 20:42:10
阅读次数:
0
TCP握手协议:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SY ...
分类:
其他好文 时间:
2021-04-26 13:34:58
阅读次数:
0
zabbix配置流程 针对对象不同配置 运维加监控 开发需要 提供需求,以及获取需求的指令 运营需要 通用流程 添加主机组 添加监控项 添加触发器 添加媒介 添加收件人邮箱 配置动作 手动触发(模拟问题出现) 查看界面是否提示问题 实例 环境: ip|设备 | 192.168.94.143|node ...
分类:
其他好文 时间:
2021-04-09 13:26:20
阅读次数:
0
Select函数在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果 ...
分类:
其他好文 时间:
2021-04-08 13:48:10
阅读次数:
0
VS2015 提供的性能探查器,可以看到程序的哪部分代码占用了多少的cpu 可以看到 FD_SET select FD_ISSET recv这几个个函数占用的cpu比较高 将服务端改造成多线程: 1.分离处理客户端连接的函数,放到线程中。减少客户端并发连接时间。 2.分摊占用cpu的操作,放到几个线 ...
分类:
编程语言 时间:
2021-02-08 11:58:13
阅读次数:
0
配置站点使用 https,并且将 http 重定向至 https。 1. nginx 的 ssl 模块安装 查看 nginx 是否安装 http_ssl_module 模块。 $ /usr/local/nginx/sbin/nginx -V 1 如果出现 configure arguments: - ...
分类:
Web程序 时间:
2021-02-08 11:41:11
阅读次数:
0
调研要求 在深入理解Linux内核任务调度(中断处理、softirg、tasklet、wq、内核线程等)机制的基础上,分析梳理send和recv过程中TCP/IP协议栈相关的运行任务实体及相互协作的时序分析。 编译、部署、运行、测评、原理、源代码分析、跟踪调试等 应该包括时序图 1.Linux内核任 ...
分类:
系统相关 时间:
2021-02-01 12:22:28
阅读次数:
0