
C++多线程和网络编程
厘清多线程的相关概念,优点及其使用方法
掌握网络编程的方法
黑发要知勤学早
懒得连简历都不写
展开
-
什么叫3次握手,4次挥手
这里参考大佬的博文,再给出自己的理解详情3次握手的过程,在开始同步之前客户端和服务端都在关闭状态,客户端发送同步命令SYN,进入SYN_sent状态;当服务端接收到之后,进入SYN_REVD状态,并发送SYN和ACK;当客户端收到之后,进入established状态,并发送ack给服务端,服务端接收到之后也进入established状态。之后数据就可以传送了。4次挥手的过程就是,两个处于established状态的c/s,突然c发送了FIN状态码,c于是进入FIN_WAIT1,这个时候c向s发送数据的原创 2021-06-03 00:07:30 · 98 阅读 · 0 评论 -
udp和tcp的区别总结
这两个协议都是运输层的协议,一般是与网络层ip协议配合使用。udp不是面向连接的协议,二tcp是面向连接的的协议。udp所需要的资源相对较少,只需要8个字节的头即可;tcp所需要的资源相对多,需要20个字节头。udp不保证数据的安全可靠,传到目的地的包可能是乱序或者错误的,udp发现错误的包直接丢掉;tcp保证数据可靠性,保证传到目的地的正确,...原创 2021-06-02 15:30:23 · 241 阅读 · 0 评论 -
C++11多线程与并发(一)
创建多线程的方法有很多种1)使用函数作为入口void myprint(int i) { printf("多线程%d被执行了\n", i);}//返回值为空thread myobj(myprint, 12);2)使用对象的函数作为线程的入口class MyClass{public: void print() { printf("对象中的函数被调用出来了\n"); } MyClass::MyClass() { printf("对象被构造出来了\n"); } MyCl原创 2021-03-31 18:44:13 · 137 阅读 · 0 评论 -
TCP/IP协议中的端口是什么
设备与外界进行通讯的端口每一台机器的所有的应用使用的IP地址是一样的,为了区分不同软件,在提供服务的时候不找错对象,设置对应的端口非常重要。tcp或者udp协议中的端口是逻辑上的端口,是设备与外界进行通讯的端口。端口是指接口电路上的用来存放接口信息和状态的寄存器。...原创 2021-03-23 17:58:54 · 1987 阅读 · 0 评论 -
子网掩码的作用
用来区分ip地址中的网络地址和主机地址,它不能够单独存在,计算网段的时候,将ip地址和子网掩码的二进制数相与(&),得到的就是网段。因此,光看ip地址是不能区分他们在不在一个网段的。还可以通过ip地址来反推子网掩码应该是多少如何根据ip地址子网掩码?确定ip地址子网掩码大部分的情况下,我们网络中只要不超过254台主机的的话,子网掩码都可以设置成255.255.255.0。那么超过了254台主机的话怎么办呢?可以划分vlan,也可以设置成一个大网段,划分vlan我们就不说了,上面有例子,设置原创 2021-03-23 14:48:39 · 297 阅读 · 0 评论 -
进程间和线程间的通信方式
链接:https://blog.youkuaiyun.com/liyue98/article/details/80112246进程间的通信方式:1.管道:半双工通信,一般只用在有亲戚关系的进程间通信。2.消息队列:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。3.共享内存:所有进程共享的空间,这个通信的效率最高4.socket:可以用在不同机器的不同进程的通信5.命名管道:半双工通信,但是允许无亲缘关系的进程间通信原创 2021-03-22 10:23:51 · 294 阅读 · 0 评论 -
计算机网络总体脉络整理,面试必备
结构参考B站CodeSheeptcp/ip相关知识在这个网站都能找到,先6为敬tcp/ip相关知识都在这里1. TCP/IP协议体系的认知网络的结构层次和每一层的细节计算机5层网络模型共被分为5层:把网络分层的目的是将每一层分开,各层互不干扰。对于程序员,不用知道整个的模型,只用搞好自己这一层,减轻学习负担。对于开发者开发效率可以得到有效提升,考虑的因素减少。各个层之间只要定义好各自的接口就可以相互通信。在tcp/ip协议中被分为四层,物理层和数据链路层合并为了一层。a)应用层(数据):在O原创 2021-03-10 20:30:05 · 363 阅读 · 0 评论 -
关于C++使用thread的detach函数之后
定义一个子线程初始函数,当创建一个子线程时,如果传入的是类对象的引用,那么会重新创立一个类对象,但是如果使用detach的话,如何保证安全。就是如何保证主线程运行完前完成创建副本对象。将对象先转换一下就可以。std::thread myobj(myprintf2, Node(myp);//去除Node后不能保证安全智能指针的写法: unique_ptr<int> p;#include<iostream>using namespace std;void mypri原创 2021-03-06 16:16:48 · 1162 阅读 · 0 评论 -
计算机网络面试题目收集
计算机网络题目1.长连接和短连接,长轮询和短轮询短连接:针对每一次HTTP请求,都要连接一次。连接 简单,但是每一次连接都要连接释放一次,浪费了大量的资源长连接:通过关键词keep-alive(http1.0), 控制连接断开省去了多次连接断开所消耗的资源,但是如果客户端一直不主动关闭连接,客户端连接越来越多,服务器压力会增大长轮询:收到http请求的时候,如果有数据,那么立即响应,如果没有数据则保持,在保持的过程当中,如果数据来了,就立即响应,当时间很长都没有数据,则返回http响应。当浏览器收原创 2021-03-06 15:09:43 · 142 阅读 · 0 评论 -
浅拷贝和深拷贝
浅拷贝:只复制了源对象地址,如果改变值,会直接影响到源对象深拷贝:直接复制了一份源对象,对当前对象的改变不会影响到源对象。原创 2021-03-04 21:34:31 · 81 阅读 · 1 评论 -
顺序执行、并行和并发
顺序执行:一个任务完成了再接着下一个任务执行。由于CPU在相当一部分时间都在等待任务完成,造成了极大的资源浪费并行:同时做多个任务,多个任务在同一时刻触发。并发:在同一时间段完成多个任务,同时段完成多个任务。...原创 2021-03-04 11:10:01 · 1877 阅读 · 1 评论