logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

传输层:udp与tcp协议

tcp在可靠性和提高性能的方面都作出了很大努力。三次握手除了建立连接也协商了起始序列号和双方缓冲区大小。但是我们也发现,几乎所有的策略,都是在两段的机器上起作用的。但是数据包大部分时候都是在网上的,因此我们还应该考虑网络状态,应该对网络信道有所评估。(但也只是评估,tcp并不能直接影响网络。客户端和服务器对于网络出现的问题是无能为力的)因此我们引出拥塞控制。

文章图片
#网络#服务器#linux
http协议与https协议

也就是说我们用MD5,就可以把一段大文本转化为一段数据摘要。而这种数据摘要可以用于对比原文是否被篡改,即使原文只被修改了一点点,最后形成的数据摘要都会相差非常大。关于数据摘要的应用我们小小的举两个例子1.我们上面有提到的位于服务器的session ID,其实就可以理解成用户的账号密码经过MD5算法处理后形成的数据摘要。2.百度网盘具有“秒传”,的功能,这是怎么实现的呢?例如两个人都想把同一部电影传

文章图片
#c++#开发语言
自定义协议与序列反序列化

例如, 我们需要实现一个服务器版的加法器. 我们需要客户端把要计算的两个加数发过去, 然后由服务器进行计算, 最后再把结果返回给客户端。

文章图片
#网络
网络编程套接字

例如我们这台主机有两个ip,一个是192.168.1.148,一个是192.168.1.149,如果我们固定绑定了一个ip,那么只能接收到发往这个ip的数据,但是如果我们绑定0,不管你是发给148的还是149的,只要是发给我这台主机的,都会被接收,然后根据端口号向上传递。我们的服务器绑定端口号的时候,需要注意,最好绑定1024以及以上的端口号,因为0-1023是系统内定的端口号,一般都有固定的应用

文章图片
#网络#服务器#运维
Linux信号

是忽略,(即默认,忽略,捕捉,三种方式中的默认,但是处理的具体方法是忽略)父进程可以自 定义SIGCHLD信号的处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了,子进程 终止时会通知父进程,父进程在信号处理函数中调用wait清理子进程即可。,有可能在第一次调用还没返回时就再次进入该函数,这称为重入,insert函数访问一个全局链表,有可能因为重入而造成错乱,像这样的函数称为 不可重入函

文章图片
#linux#运维#服务器
递归(6题)

如果我们一开始直接反转第一第二个链表的话,就会找不到第三个链表,因此我们使用reverseList函数来反转后面的链表,我不关心你是怎么样实现的,但是我相信你能把链表逆置后再把新的头节点返回给我。这道题目较为容易,我们要两两交换,只需要考虑一次两两交换节点即可,交换之后将第二个节点与后面的节点相连,我相信我这个函数可以帮我做到将后面的节点两两交换,最后用一个变量接收返回值。如果l1的节点数值更小,

文章图片
#深度优先#算法#leetcode
MySQL:表的约束

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,

文章图片
#mysql#数据库
C/C++内存管理

但是new和delete最重要的功能还是用来处理自定义类型,malloc无法很好支持动态申请的自定义对象的初始化class Apublic:: _a(a)_a = a;int main()//自定义类型,开空间+调用构造函数初始化//自定义类型,调用析构函数+释放空间delete p2;delete p3;//也支持一次定义多个对象//多个对象的初始化1. A a1(1);A a2(2);2. /

文章图片
#c++#开发语言
Linux文件系统

1.第三方库,往后使用的时候必定要带 -l 选项(但是像系统提供的fork,wait,或者语言提供的,如c语言提供的printf等,我们不需要带 -l选项)2.gcc默认进行动态链接,但是如果系统中只提供静态库,gcc则只能对该库进行静态链接(ldd可以查看Linux系统下动态库依赖关系)3.如果系统中需要链接多个库,那么gcc可以链接多个库,只需要在-l 后面加4.如上图,一个程序是可以混合链接

文章图片
#linux#服务器#运维
类和对象(中)

我们_array是通过malloc开辟空间的,这时候我们发现,传参的时候s仅仅只是将s1中_array变量中储存的地址拿了过去,只是将main栈帧里面存的东西原模原样复制到func2栈帧中而已,他们的_array中存的都是指向堆区的同一块空间的指针。2.不会处理内置类型的成员,例如int double...,是随机值,所有指针,包括自定义类型的指针也都是内置类型,一般会初始化为nullptr。注意

文章图片
#jvm
到底了