![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 87
XX風
翻山越岭
展开
-
Listen第二个参数的意义
今天主要回顾下listen的第二个参数的意义。 话说现在现在都是用框架写业务代码。真的很少在去关注最基本的socket函数的意义了。该忘得都忘得差不多了。~~~ 要慢慢捡起来。 主要是在看redis网络这块的时候它的第二个参数设置的是500多。 而且突然想到当初几年前腾讯电话面试问过我第二个参数是什么意思。当时我一股脑就说成connet的连接数量了。哈哈 2b.照例 先上图,再解析首先这个图是展示的TCP 三次握手。这里就不吸收三次握手了。.转载 2021-03-24 15:50:46 · 178 阅读 · 0 评论 -
c++互斥锁及条件变量详解及条件变量的意义
信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信号量不一定是锁定某一个资源,而是流程上的概念,比如:有A,B两个线程,B线程要等A线程完成某一任务以后再进行自己下面的步原创 2021-03-07 16:34:59 · 993 阅读 · 2 评论 -
服务器TIME_WAIT和CLOSE_WAIT分析和解决办法
查看TIME_WAIT和CLOSE_WAIT数的命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'它会显示例如下面的信息:TIME_WAIT 、CLOSE_WAIT 、FIN_WAIT1 、ESTABLISHED 、SYN_RECV 、LAST_ACK常用的三个状态是:ESTABLISHED表示正在通信 、TIME_WAIT表示主动关闭、CLOSE_WAIT表示被动关闭。服务器出现异常最长出现的状况是..原创 2021-03-05 20:53:55 · 1130 阅读 · 0 评论 -
数字证书原理
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!1、基础知识这部分内容主要解释一些概念和术语,最好是先理解这部分内容。1.1、公钥密码体制(public-key cryptography)公钥密码体制分为三个部分,公钥、私钥、加密解密算法,它的加转载 2021-03-04 23:43:18 · 142 阅读 · 1 评论 -
window环境使用C++实现WebSocket
最近因为项目需求,需要使用C++实现WebSocket与浏览器进行通讯,针对WebSocket有很多开源的框架,但是本人比较懒,所以干脆手写一个算了.https://download.csdn.net/download/weixin_34196559/10750141开源库废话不说,直接上代码1. 整体代码截图全部代码,基本400行以内可以搞定项目结构,因为实现WebSocket需要涉及到加密解密,所以从网上某大神哪里拿来了代码以上是整体的代码结构, 下面我简单介绍下WebSocket的流程转载 2021-03-04 23:40:01 · 1184 阅读 · 4 评论 -
HTTP和HTTPS协议
一、前言:先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.12306.cn/otn/regist/init,浏览器显示安全,为什么会这样子呢?2017年1月发布的Chrome 56浏览器开始把收集密码或信用卡数据的HTTP页面标记为“不安全”,若用户使用2017年10月推出的Chrome 62,带有输入数据的HTTP页面和所有以无痕模式浏览的HTTP页面都会被标记为“不安全”,此外,苹果公司强制所有iOS App在20转载 2021-03-03 19:41:25 · 138 阅读 · 1 评论 -
关于 TCP/IP,必知必会的十个问题
本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。TCP/IP十个问题一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次.原创 2021-02-15 01:26:28 · 242 阅读 · 0 评论 -
一文搞定 UDP 和 TCP 高频面试题
一文搞定 UDP 和 TCP 高频面试题!The following article is from herongwei Author herongwei本号专注于分享后端开发、算法编程、职场感悟等文章,不止技术,提升认知,共同成长,期待你的关注。](#)来自公众号:herongwei阅读本文大概需要 10分钟。找工作面试,经常会被问到 UDP 和 TCP,今天给大家总结其中的核心高频面试题,再有面试官问你相关的知识点,看这篇就够了!PS:文章有点长,请耐心阅读。目录:1、UDP 和 T转载 2021-02-04 15:49:41 · 170 阅读 · 0 评论 -
解析TCP之滑动窗口(动画演示)
概述滑动窗口实现了TCP流控制。首先明确滑动窗口的范畴:TCP是双工的协议,会话的双方都可以同时接收和发送数据。TCP会话的双方都各自维护一个发送窗口和一个接收窗口。各自的接收窗口大小取决于应用、系统、硬件的限制(TCP传输速率不能大于应用的数据处理速率)。各自的发送窗口则要求取决于对端通告的接收窗口,要求相同。滑动窗口解决的是流量控制的的问题,就是如果接收端和发送端对数据包的处理速度不同,如何让双方达成一致。接收端的缓存传输数据给应用层,但这个过程不一定是即时的,如果发送速度太快,会出现接收端数据ov转载 2021-01-16 09:10:34 · 499 阅读 · 0 评论 -
select epoll 原理概述&优缺点比较
这个问题在面试跟网络编程相关的岗位的时候基本都会被问到,刚刚看到一个很好的比喻:就像收本子的班长,以前得一个个学生地去问有没有本子,如果没有,它还得等待一段时间而后又继续问,现在好了,只走一次,如果没有本子,班长就告诉大家去那里交本子,当班长想起要取本子,就去那里看看或者等待一定时间后离开,有本子到了就叫醒他,然后取走。也许在细节方面不是特别恰当,但是总的来说,比较形象地说出了select和epoll的区别。下面我将简单明了地概述下两者的原理,并概况两者的优缺点。select原理概述调用selec原创 2021-01-12 14:43:35 · 347 阅读 · 0 评论 -
信号量和互斥锁的区别
一:信号量与互斥锁之间的区别:互斥量用于线程的互斥,信号线用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别。互斥量值只能为0/1,信号量值可以为非负整数。也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。信号量可以实现多个同类资源的多线程互斥和同步。当信号量为单值信号量是,也可以完成一个资源的互斥访问。信号量是通过一个计数器控制对共享资源的访问,信号量的值是一个非负整数,所有通过它的线程都会将该整数减一。如果计数器大于0,则访问被原创 2021-01-07 22:15:39 · 3141 阅读 · 0 评论 -
TCP三次握手和四次挥手详解
TCP(Transmission Control Protocol)网络传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,数据传输前建立连接的工作要经过三次握手,数据传输后断开连接的工作要经过四次挥手。TCP共有6个标志位,分别是:SYN(synchronous),建立联机。ACK(acknowledgement),确认。PSH(push),传输。FIN(finish),结束。RST(reset),重置。URG(urgent),紧急。图解三次握手和四次挥手的过程:三次握原创 2021-01-02 17:14:58 · 906 阅读 · 0 评论