![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
weixin_41318405
此人不懒,什么都留下了
展开
-
IPV4与IPV6的区别
IPv4和IPv6的区别IPv4是32位,IPv6是128位,可以解决ip地址不足 IPv4和IPv6的兼容性较差,否则IPv6已经普遍了 IPv6会在网络层进行安全校验和数据加密,所以更安全 IPv6目前不支持NAT技术,因为IPv6已经解决了ip地址不足原文链接...原创 2019-04-21 19:10:40 · 390 阅读 · 0 评论 -
网络编程中read函数和write函数使用规范
字节流套接字上的read和write函数所表现的行为不同于通常的文件IO。字节流套接字上调用read和write输入或输出的字节数可能比请求的数量少,因为内核中用于套接字的缓冲区是有限制的,需要调用者多次调用read或write函数。提示:readn、writen和readline是对read和wirte的封装。readn(int fd,void *vptr, size_t n)从...原创 2019-05-21 10:54:30 · 2212 阅读 · 0 评论 -
IO多路转接select——文件描述符就绪条件
select文件描述符状态集包含:可读文件描述符集合、可写文件描述符集合和异常文件的描述符集合读集合就绪1. 在socket内核当中,接收缓冲区中的字节数,大于等于低水位标记,此时可以无阻塞的读取数据,并且返回值大于0;2. socket中对端关闭连接,此时进行读,返回值为0;3. socket中监听套接字有新的连接到来;4. socket上有未处理的错误,此时我们可以使用ge...原创 2019-02-17 14:57:14 · 382 阅读 · 0 评论 -
五种IO模型
IO操作包含两步:等待和拷贝;同一时间内,等待时间占得比重大,称此为低效IO。反之,称为高效IO。阻塞IO 内核将数据准备好之前,系统调用会一直阻塞。 除非特被指定,大部分套接字都是阻塞的。这样一来,如果单线程(进程)处理进行send时候发生阻塞,那么就不会处理其他的请求,造成永久阻塞。解决这个问题可以使用多进程或者多线程。让每一个连接独立send,这样一来...原创 2019-04-16 12:46:23 · 92 阅读 · 2 评论 -
IP地址、子网掩码、网络号、主机号、网络地址、主机地址
IP地址:4段十进制,共32位二进制,如:192.168.1.1 二进制就是:11000000|10101000|00000001|00000001子网掩码可以看出有多少位是网络号,有多少位是主机号: 255.255.255.0 二进制是:11111111 11111111 11111111 00000000网络号24位,即全是1 主机号8位,即全是0129.168.1.1 /24 这个、24就...转载 2019-06-16 22:17:10 · 14522 阅读 · 0 评论 -
一些linux网络API
索引:1.字节序函数2.字节操作函数3.地址转换函数4.readn、writen和readline5.测试描述符类型6.socket函数7.connect函数8.bind函数9.listen函数10.accept函数11.close函数12.getsockname和getpeername13.select函数14.shutdown函数15.pselect函数16....转载 2019-06-28 19:19:34 · 451 阅读 · 0 评论 -
ioctl获取接口名称、IP地址、MAC地址、广播地址等
http://blog.markloiseau.com/2012/02/get-network-interfaces-in-c/http://www.doctort.org/adam/nerd-notes/enumerating-network-interfaces-on-linux.htmlhttp://www.geekpage.jp/en/programming/linux-network...转载 2019-06-28 19:20:17 · 480 阅读 · 0 评论