作者归档:devkang

重温TCP三次握手协议

今天去一家公司面试,考到了TCP的四次握手协议,感觉基础也都忘记干净了,重新的回顾一下TCP的握手协议情况。

为什么TCP需要握手,才进行数据传输?

当客户端跟服务端进行通信时无法保证客户端到服务端的通信是正常的,需要通过三次握手来保证客户端跟服务端之间的通信正常。

为什么TCP是需要三次握手,而不是两次或者四次?

如果是两次握手,只能是客户端告诉服务端,但是服务端无法知道客户端是否能收到服务端的信息。

如果是四次握手,就造成了资源的一些浪费。

大家看一下下面的这样一个打电话的例子:

  • 第一次握手: A给B打电话说,你可以听到我说话吗?
  • 第二次握手: B收到了A的信息,然后对A说: 我可以听得到你说话啊,你能听得到我说话吗?  
  • 第三次握手: A收到了B的信息,然后说可以的,我要给你发信息啦!

以上就可以确定AB两个人之间的信息是互通的。多一次是资源浪费,少一次无法确认双方是互通的。

 

 

这样就上线客户端跟服务端之间的通信建立,客户端就可以跟服务端进行数据传输。

本文已经被查看216次

PHP中,null、false、0、空的区别

php是一种弱类型语言、在进行一些变量的判断时非常容易掉进坑中,今天给大家说一下弱类型语音中,null、false、0的区别。



var_dump(null == 0); // true var_dump(null == false); // true var_dump(false == 0); // true var_dump('' == 0); // true var_dump('' == null); // true var_dump('' == false); // true var_dump(null === 0); // false var_dump(null === false); // false var_dump(false === 0); // false var_dump('' === 0); // false var_dump('' === null); // false var_dump('' === false); // false

继续阅读

本文已经被查看1,499次

Mysql 导出每个表的部分数据

今天做开发,想把旧的数据库重构一下,旧的数据库很大,直接导出不太合适,但是想借用之前的一部分数据,发现了mysqldump 的一个参数 -w,这个参数类似sql里面的where,可以指定你导出的每个表里面的条件。

比如我们想导出每个表100条数据

mysqldump -uroot -p “-w 1 limit 100” test > test.sql

我们想导出id小于1000的数据

mysqldump -uroot -p “-w id < 1000” test> test.sql

这个方法比较简单,希望能够用到。

本文已经被查看1,884次

Jquery On 事件绑定多次触发问题

今天在做一个声音播放的项目,是属于一个SPA(单页面)应用。

所遇到的现象如下:

1、第一次打开页面正常可以点击正常播放。
2、第二次打开页面点击无法正常播放。
3、第三次打开页面正常可以点击播放。
4、第四次打开页面点击无法正常播放。
….

继续阅读

本文已经被查看1,355次