- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 快速排序
声明:转载时必须说明出处,并复制原文链接,维权必究。快速排序的思想就是先要确定一个哨兵,然后从两侧找一个位置,是的左侧的数都比哨兵小,右侧的数都比哨兵大,进而确定了哨兵的位置,然后以哨兵为界,左右两边分别再递归的进行快速排序。如下图,一个数组【23,64,24,12,9,16,53,57,71,79,87,97】,先确定第i位置为哨兵,然后先从右往左找比23小的数,进...
2020-05-01 14:01:49
175
1
原创 归并排序
声明:转载时必须说明出处,并复制原文链接,维权必究。今天重新看了一下归并排序,写了一个简单的代码实现。归并的思想就是先两两之间进行排序,然后再合并起来保证是有序的,直到整个都数组都是有序的,不废话了直接上图更能说明归并排序的思想。代码实现如下:排序结果:...
2020-05-01 11:20:14
124
原创 epoll的几点理解
本质上来讲,epoll是用来管理网络IO的,当有大量网络IO时,需要知道哪些IO是可读的,哪些IO是可写的,这就需要epoll来判断。可以参照Linux源码:fs/eventpoll.cepoll中总共涉及到两个数据结构:eventpoll 与 epitem,epitem 是每一个 IO 所对应的的事件,比如epoll_ctl EPOLL_CTL_ADD 操作的时候,就需要创建一个 epite...
2020-04-28 00:37:41
332
原创 去中心化,网络穿透技术之二
接着上一篇来谈一谈去中心化,上一篇我讲了几种NAT,包括对称NAT、完全锥形NAT、IP限制锥形NAT和端口限制锥形NAT。这一篇我们来讲一讲NAT如何穿透,具体从以下三种组合模型来讲解。一、完全锥形NAT+任何一种NAT 这种组合适最容易穿透的,如图所示,网关A是完全锥形NAT,网关B是任意NAT,或者调换网关类型也是一样的,这里就以前者为例: 第1步...
2020-04-22 22:19:56
486
原创 去中心化,网络穿透技术之一
最近一直在研究网路穿透和网络去中心的化的技术,有一点心得这里写出来与大家分享。一、中心化网络和去中心化网络 首先讲一讲什么是中心化网络,画个图来说明可能会比较直观一些,如图1,客户端A要和客户端B进行通迅,必须经过服务器。相对于图1来说,图2 是这样一个过程,在客户端A和客户端B相互通讯的初期,通过服务器来交换一下双方必要的信息,而后续通讯就不再需要服务器了,完...
2020-04-18 02:16:20
1938
转载 send和recv函数解析(转)
转自:http://blog.youkuaiyun.com/gogor/archive/2010/09/20/5896931.aspx1. send函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户端还是服务器端应用程序都用send函数来向TCP连接的另一端发送数据。客户端程序一般用send函数
2016-11-11 17:19:33
253
转载 关于非阻塞的recv的时候返回的处理
注意recv()如果读到数据为0,那么就表示文件结束了,如果在读的过程中遇到了中断那么会返回-1,同时置errno为EINTR。因此判断recv的条件: 如果read返回 如果==0 表示文件结束, 处理 如果 表示中断,处理 否则,出错我们举个例子:int saf
2016-11-10 19:08:02
721
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人