![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 78
qq_31833457
天下之大,总有你的容身之处
展开
-
recv,write,send,read,recvfrom,sendto区别,详解
下面, 我们看一幅图, 了解一下send和recv函数所处的位置(这幅图是我在网上找的, 不太清晰, 请凑合看一下): 为了简便起见, 我们仅考虑单向的数据流, 即A(客户端)向B(服务端)发送数据。 在应用程序Program A中, 我们定义一个数组char szBuf[100] = "tcp"; 那么这个szBuf就是应用程序缓冲区(对应上图的Program A中的某块内存), se原创 2017-11-09 23:29:09 · 7780 阅读 · 1 评论 -
卷1部分4-8章
描述C 库函数 char *getenv(const char *name) 搜索 name 所指向的环境字符串,并返回相关的值给字符串。声明下面是 getenv() 函数的声明。char *getenv(const char *name)参数name -- 包含被请求变量名称的 C 字符串。返回值该函数返回一个以 null 结尾的字符串,该字符串为被请求环境变原创 2017-12-01 17:31:37 · 163 阅读 · 0 评论 -
shutdown函数 & 套接字选项
有的时候客户端批量发送数据,发送完数据后,如果直接调用close(假设引用计数为0)则发送端与接收端均被关闭。但可能管道中还有数据在传输,这时管道中对方的ack,以及fin的确认就不能收到了,连接就不是正常关闭。close函数把描述符的引用计数减一,仅仅在该计数变为0的时候,才真正的关闭套接字,而使用shutdown函数可以不管引用计数就激发了TCP的正常连接终止序列;clos原创 2017-12-01 21:48:12 · 597 阅读 · 0 评论 -
select函数与stdio混用的不良后果
原文地址:http://www.cppblog.com/mysileng/archive/2013/01/15/197284.html 今天在看UNP6.5节,学习到了select与stdio混用的后果。特此进程实验一番。再实验之前需明确一下几点:1.stdio流的i/o函数 与 系统i/o函数不同。stdio流函数在用户空间和内核都有缓冲,系统i/o函数只在内核有缓冲,用户空间没有。转载 2017-12-01 20:47:40 · 156 阅读 · 0 评论 -
卷1前三章知识点汇总
--------------------------------------《1》--------------------------------------------- 尽管客户和服务器之间使用某个应用协议通信,传输层却使用TCP通信。注意,客户和服务器之间的信息流在其中一端是向下通过协议栈的,跨越网络后,在另一端则是向上通过协议栈的。另外注意,客户和服务器通常是用户进程的原创 2017-11-28 17:00:41 · 225 阅读 · 0 评论 -
epoll模型
参考文章:epoll详解--------------------------------------------------------------------------------------------------拷贝下原理概念-----------------------------------------------------------------------------原创 2017-11-13 22:48:13 · 130 阅读 · 0 评论 -
select函数总结
select原型:[windows]WINSOCK_API_LINKAGE int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);[linux]int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, st原创 2017-11-11 17:40:00 · 513 阅读 · 0 评论 -
WSAStartup与WSACleanup
文章来源无法查清,转载只是为了日后方便WSAStartup与WSACleanupWSAStartup应该与WSACleanup成对使用,WSAStartup的功能是初始化Winsock DLL,WSACleanup是来解除与Socket库的绑定并且释放Socket库所占用的系统资源。在Windows下,Socket是以DLL的形式实现的。在DLL内部维持着一个计数器,只有第一次转载 2017-11-12 03:31:00 · 299 阅读 · 0 评论 -
linux下五种IO模型小结(阻塞IO、非阻塞IO、IO复用、信号驱动式IO、异步IO)
原文地址:http://blog.csdn.net/a987073381/article/details/52201200一、阻塞IO模型 (同步I/O)阻塞IO是指进程进行IO操作的时候,因为数据没准备好或者缓冲区里没有空间而无法进行IO操作会进入睡眠,直到数据准备或者缓冲区有空间才回被唤醒的行为。阻塞IO是最通用的IO类型,所有套接字默认情况下都是阻塞的。输入操作:re转载 2017-11-10 23:01:54 · 644 阅读 · 0 评论 -
大端小端/ 主机字节序与网络字节序
参考文章:http://blog.csdn.net/zhaoshuzhaoshu/article/details/37600857/1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端:为什么会有大小转载 2017-11-10 22:20:36 · 351 阅读 · 0 评论 -
TCP带外数据OOB
原文地址:http://blog.csdn.net/ty_laurel/article/details/52164669传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方.为了发送这些数据,协议一般不使用与普通数据相同的通道,而是使用另外的通道实现.OOB数据(TCP)介绍带外数据转载 2017-11-10 21:53:41 · 212 阅读 · 0 评论 -
Linux网络编程(一)
原文地址:http://blog.csdn.net/mayuan1210/article/details/73611345网络编程复习基础知识,socket常用函数。网络编程基础及基本socket函数网络编程模型CS模型网络应用的标准模型是C/S模型,是非对称模型。如下图:其服务器模型分为两种:循环服务器 任一时刻只处理一个客户机请求,处理请求过转载 2017-11-10 19:43:00 · 376 阅读 · 0 评论 -
拒绝服务型攻击
拷贝自百度百科,感觉这个对理解tcp很有帮助拒绝服务攻击即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击转载 2017-11-27 22:03:40 · 833 阅读 · 0 评论