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

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

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

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

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

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

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

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

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









