自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 MTU

MTU:通信术语 最大传输单元(Maximum Transmission Unit)是指一种通信协议的某一层上面所能通过最大数据包大小(以字节为单位),最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等);以下是一些协议的MTU:FDDI协议: 4352字节以太网协议:1500字节PPPoE协议:1492字节X.25协议:576字节Point-to-Point协议:4470字节...

2020-07-29 06:28:43 135

原创 TCP三次握手与四次挥手

网络层与硬件联系紧密,十分不稳定,导致数据不能正常到达对端传输层:1:对不稳定网络层做完全不弥补 ---- UDP----无连接不可靠报文传输2:对不稳定网络层完全弥补------TCP------ 面向连接的可靠数据包传递三次握手MSS是TCP用来限制application层最大的发送字节数,是tcp能发送的分组的最大长度。MSS是系统默认的,就是系统TCP/IP栈所能允许的最大包。在建立连接时,这个值已经被确定了,这个值并不是客观的值,三次握手用来确立服务器客户端建立的通路在Linux中

2020-07-26 17:38:03 128

原创 Makefile编写复习

Makefile#是注释目标文件:依赖文件【Tab】指令第一个目标文件是最终目标来看编译过程:伪目标.PHONY:+名称编译多个可执行文件的时候需要加all比如:语法:变量 = (替换) += 追加 :=常量引用 $(变量)更改后程序如下改进:隐含规则通配符%.c %.o 任意的.c文件或者.o文件*.c *.o$^所有的目标文件$@所有的依赖文件$< 所有依赖文件第一个文件...

2020-07-26 12:06:15 129

原创 客户端服务器端如何实现交互

Server.c:1:socket()建立套接字2:bind()绑定IP 端口号 (struct aockaddr_in addr 初始化)3:listen()指定最大同时发起连接数4:accept()阻塞等待客户端发起连接5:read();6:数据处理;7:write()回写给客户端8:close();socket创建出来的也是个文件,也需要关闭文件Client.c1:socket()2:可以调用bind(),但是操作系统会隐式绑定,不需要;3:connect():发起连接请求.

2020-07-23 12:46:29 535

原创 C/S模式和B/S模式优缺点

C/S模式(Cilent / Server)客户端和服务器模式优点:1:协议可以采用自定义协议,协议选用灵活;2:数据提前缓存;缺点:1:对用户安全构成威胁;2:开发任务量比较大。B/S(Browser/Server)浏览器服务器模式优点1:不会向当前用户主机安装第三方软件,不会对用户主机造成安全威胁;2:开发量较少;缺点:1:协议选择固定(如http协议):2:不能进行数据缓存 3:可以跨平台。...

2020-07-21 17:02:04 2068

原创 tcp/ip四层协议模型

网络接口层:模型的基层,负责数据帧的发送和接收(帧是独立的网络信息的传输单元),网络接口层将帧格式的数据放到网络上,或从网络上把帧取下来;网络层:互联网协议将数据包封装成IP数据包,并运行必要的路由算法,有效的找到目的主机和最优的路径树,主要有四种协议(1):网络协议IP:负责在主机和网络之间路径寻址和路由数据包。(2):地址解析协议ARP:获得同一网络中的主机物理地址;(3):网际控制消息协议ICMP:发送消息,并报告有关数据包传送错误;(4):互联网管理协议:用来实现本地多路组播路由器报告;.

2020-07-19 16:54:44 278

原创 线程的优缺点

线程的优点:1:创建一个新线程的代价比创建一个新进程要小的多;2:与进程相比,线程之间的切换需要操作系统做的工作要少很多;3:线程占用的资源要比进程少很多;4:能充分利用多处理器的可并行数量;5:在等待慢速I/O操作结束的同时,程序可执行其他的计算任务;6:计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现;7:I/O密集型应用,为了能提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。线程缺点:1:性能损失一个很少被外部事件阻塞的计算密集型线程往往无法与共

2020-07-14 08:08:54 3993

原创 6行代码判断邮箱类型

调用string的函数代码如下 string str = "1584968754@qq.com"; string email_type; size_t res1 = str.find('@'); size_t res2 = str.find('.'); email_type = str.substr(res1+1, res2-res1-1); cout <<"邮箱类型:"<< email_type << "邮箱"<<endl;关键点在于寻

2020-07-12 20:44:43 561

原创 信号量与互斥量

进程间需要进行通信,通信的过程中就会产生很多关系,经典的关系就是生产者消费者模型。生产者消费者模型:两个进程共享共享一块公共的固定大小的缓冲区,其中一个是生产者,将信息放入缓冲区;另一个是消费者,用来从缓冲区中读取信息。生产者不断进行生产,如果缓冲区满,生产者进行睡眠,唤醒消费者,否则生产者持续向缓冲区放入数据。消费者从缓冲区拿出数据,如果缓冲区为空的时候,消费者进行休眠,此时唤醒生产者。这只是理想化模型,如果发给一个未睡眠进程的wakeup信号丢失了,就会导致生产者消费者都会进入休眠状态。于是就产

2020-07-06 18:47:24 1187

用函数实现二分法查找数的下标 整型数组元素

设计函数能够用二分法查找元素对应下标,同时可以检测出用户是否输入有误,鲁棒性较好。

2019-09-22

practicefiunction.c

C语言用函数解决一些问题,今后的代码中不会再主函数中出现过多冗杂的语句

2019-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除