随笔分类 - Unix网络编程
记录学习《Unix网络编程3》的过程
摘要:1.Linux环境下可通过inet_pton()函数判断,返回值为1,表示IP正常,否则异常 2.windows环境下可通过WSAStringToAddress()函数判断,返回值为0,表示IP正常,否则异常
阅读全文
摘要:1.IPV4套接字地址(#include <netinet/in.h>) struct in_addr { in_addr_t s_addr; /* 32-bits IPV4 address network byte ordered <netinet/in.h> */ }; struct socka
阅读全文
摘要:1. IPV4数据报文的最大大小为2的16次方,即65535字节, 包括IPV4首部;原因IPV4头中的数据总长度字段占16位 2.IPV6数据报文的最大大小为2的16次方+40字节的IPV6首部;因为IPV6头中的净荷长度字段占16位,这个净荷长度字段不包括IPV6首部的,而IPV4的总长度字段包
阅读全文
摘要:1. MLS表示的是最长分节生命期 2. TIME_WAIT状态有两个存在的理由: a. 可靠地实现TCP全双工连接的终止; b. 允许老的重复分节在网络中消失;
阅读全文
摘要:应用进程中的缓冲区和内核中的套接字缓冲区 应用进程 应用进程缓冲区(任意大小) | 应用层调用write接口 应用进程 | 内核 TCP 套接字发送缓冲区(SO_SNDBUF) | MSS大小的TCP分节(通常MSS <= MTU - 40(IPV4 20字节TCP头,20字节IP头) 或者 MTU
阅读全文
摘要:1.SCTP是面向消息的; 2.SCTP提供各个记录的按序递送服务; 3.SCTP由发送端写入的每条记录长度随数据一道传递给接收端应用; 4.STCP:一个流上某个消息丢失不会阻塞同一关联(两个系统之间的一次通信)间其他流上消息的投递;与tcp相反,丢失数据时,会一直重传,从而阻塞其他数据的发送;
阅读全文
摘要:#include <time.h>#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <errno.h>#include <string.h>#include <sys/socket.h>#include <netinet
阅读全文
摘要:Unix errno值、 只要一个Unix函数(如,某个套接字函数)中有错误发生,全局变量errno就被设置为一个指明该错误类型的正直,函数本身则通过返回-1. errno的值只在函数发生错误时被设置,如果函数不返回错误,errno的值就没有定义。 errno的所有证书错误值都是常值,具有以“E”开
阅读全文