- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 TCP三次挥手四次握手(面试总结)
经典的两张图我也不知道出处,希望大牛指教建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段...
2018-08-26 20:49:00 183
原创 简答面向数据报,面向字节流
先来一个例子 用UDP传输100个字节的数据:面向数据报如果发送端调用一次sendto, 发送100个字节, 那么接收端也必须调用对应的一次recvfrom, 接收100个字节; 而不能循环调用10次recvfrom, 每次接收10个字节;面向字节流由于缓冲区的存在, TCP程序的读和写不需要一一匹配, 例如: 写100个字节数据时, 可以调用一次write写100个字节,...
2018-08-26 19:52:05 3007 1
原创 守护进程nohup的用法
■关于nohup在使用nohup命令的时候,经常由于输出nohup.out的路径没有写入权限,而无法使用nohup。这是可以使用Linux重定向的方法,将nohup.out重定向至一个有写入权限的路径,或者直接扔到/dev/null中。nohup ./program >/dev/null 2>/dev/null &或者nohup ./program &amp
2018-08-26 15:35:12 1463
转载 文件描述符和fcntl及阻塞非阻塞
Linux 文件描述符和重定向https://www.cnblogs.com/chenmh/p/5382044.htmlfcntl函数的用法总结https://www.cnblogs.com/zxc2man/p/7649240.html简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型https://www.cnblogs.com/chaser24/p/6112071....
2018-08-26 10:36:26 902
转载 大数据多路归并算法
https://blog.csdn.net/wongson/article/details/49209903先把一个大的数据分成若干小份,然后对这些小份文件进行排序。排序好之后对这些小份文件进行如下处理。我们举个简单的例子:文件1:3,6,9 文件2:2,4,8 文件3:1,5,7第一回合: 文件1的最小值:3 , 排在文件1的第1行 文件2的最小值:2,排在文件2的第1行...
2018-08-22 13:16:12 1528
转载 内存泄漏Valgrind
内存泄漏Valgrindvalgrind –tool=memcheck –leak-check=full [Your progame option];https://cloud.tencent.com/developer/article/1006199https://www.cnblogs.com/zhoudayang/p/6110360.htmlhttps://www.cnbl...
2018-08-18 17:59:02 112
原创 C语言模拟实现标准库函数之qsort() <3>
#include <stdio.h>void sort(int arr[],int left ,int right){ if(left > right) return; int i = left; int j = right; int get = arr[left]; while(i < j){ ...
2018-08-17 11:24:58 283
转载 IP数据包格式netinet/ip.h
转载地址https://www.cnblogs.com/embedded-linux/p/4986449.html头文件netinet/ip.h中定义ip:struct ip{#if __BYTE_ORDER == __LITTLE_ENDIANunsigned int ip_hl:4; /* header length */unsigned int ip_v:4; /* ...
2018-08-15 21:18:24 8201
原创 为什么计算机起始时间是1970年1月1日
1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX,新版于1971年发布。那时的计算机操作系统是32位,时间用32位有符号数表示,则可表示 68 年, 用32位无符号数表示,可表示136年。 他...
2018-08-09 13:57:58 47325 9
原创 关于argc和argv的输出
代码#include <stdio.h>int main(int argc ,char * argv[]){ printf("argc ->%d\n",argc); for(int i = 0; i < argc;i++){ printf("%s\n",argv[i]); } return 0;}输出结果...
2018-08-08 09:20:06 1829
原创 运算符&与&&,|与||的区别
|和&是位运算,运算结果是二进制数。 &&,||是逻辑运算,运算结果是真,或者假。6&3=110&011=010=26|3=110|011=111=7&,&&和||计算时注意, 题目:条件1&&条件2&&条件3 如果条件1就是假的,后面就不计算了...
2018-08-06 16:50:51 25520 1
原创 浅谈socket网络编程函数参数(二)
bind()函数bind()函数把一个地址族中的特定地址赋给socket。 例如对应AF_INET、AF_INET6就是把一个ipv4或ipv6地址和端口号组合赋给socket。int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);参数解析sockfd:即socket描述字,它是通过soc...
2018-08-06 15:01:07 1348 2
原创 浅谈socket网络编程函数参数(一)
socket函数解析概念:每个进程的进程空间里都有一个socket描述符表。套接字描述符表属于一个进程,而socket地址结构位于操作系统的内核缓冲。函数原型 #include &lt;sys/socket.h&gt; int socket(int domain, int type, int protocol);函数参数family...
2018-08-06 14:22:27 10867 4
原创 linux网络编程Internet Socket地址,套接字,和函数
文章内容节选《linux/UNIX 系统网络编程》Internet domain socket地址有两种:IPv4 IPv6IPv4被存储在结构体中, 该结构体在 netinet/in.h 中进行定义cd usr/include/netinet/in.hstruct in_addr{ in_addr_t s_addr; //32位IPv4地址}struct...
2018-08-06 12:16:26 521
原创 常用的友元重载运算符OSTREAM
对<<运算符重载,让他能和cout一起显示对象内容。 显示值可以使用show(),但是使用cout<<更方便。ostream类对该运算符进行了重载,将其转换成输出工具。cout就是一个ostream的对象,他可以自动识别所有的c++基本类型。这是因为每种类型ostream他都包含了相应的重载operator<<定义。void ostream&...
2018-08-05 11:05:18 1247
原创 怎么在vs中查看一个数组的所有元素
在监视窗口,我们想要查看所有的数组元素。这个时候int arr[] = {1,2,3}arr只显示1正确的方法arr,10
2018-08-05 10:06:09 8176 1
原创 Ubuntu各版本主要差异
Ubuntu各版本主要差异 (重定向自Ubuntu , kubuntu与xubuntu的差别 ) Ubuntu官方考虑到使用者的不同需求,提供各种不同的发行版。这几种发行版本的差别在于桌面环境和预设安装的软体不同,但套件库是采用一样的,所以您当然可以在安装后切换成别的发行版本。 实际上各个发行版本都是以一个叫作虚拟套件的套件包来控制,也就是那个虚拟套件是空的,但是因为里面设定了相依到很多该发...
2018-08-04 09:13:09 18834 1
原创 Makefile使用及多文件gdb 调试
文件内容[kou@localhost makefile]$ cat 1.c#include &quot;3.h&quot;int main(){ key_t key = ftok(&quot;.&quot;,1); printf(&quot;%d\n&quot;,add(1,2)); return 0;}[kou@localhost makefile]$ cat 2.c#
2018-08-04 09:10:39 3077
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人