
网络
网络
平平无奇的小垃圾
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络编程(十三)——高级IO函数
原创 2021-03-30 09:22:26 · 156 阅读 · 0 评论 -
网络编程(十二)——syslogd守护进程
原创 2021-03-30 09:12:33 · 137 阅读 · 0 评论 -
网络编程(十一)——名字与地址转换
注:gethostbyname gethostbyaddr不可重入;gethostbyname_r gethostbyaddr_r可重入;getaddrinfo可重入1.gethostbynamegethostbyname gethostbyaddr不可重入2.gethostbyaddr3.getservbyname&getservbyport4.getaddrinfogetaddrinfo可重入...原创 2021-03-30 09:10:19 · 143 阅读 · 0 评论 -
网络编程(十)——udp基本编程
1.缓冲区udp并没有实际的缓冲区,所以只要设置的udp缓冲区大小大于发送缓冲区低水位就一直可写,udp调用write成功返回表示所写的数据报已被加入链路层的输出队列。如果该队列没有足够空间,内核通常返回ENOBUFS错误,或根本不返回错误。当udp写入一个大于发送缓冲区大小的数据时,会返回EMSGSIZE错误udp没有流量控制,当发送端发送数据快于接收端时,当接收端接收缓冲区满后,后面再发送的数据都会被丢弃2.发送3.connect4.性能...原创 2021-03-29 19:04:11 · 386 阅读 · 0 评论 -
网络编程(九)——套接字选项
原创 2021-03-29 18:53:52 · 117 阅读 · 0 评论 -
网络编程(八)——shutdown与close
1.shutdown2.shutdown与close异同原创 2021-03-29 18:51:28 · 181 阅读 · 0 评论 -
网络编程(七)——描述符就绪条件
select函数。注意,当某个套接字上发生错误时,它将由select标记为既可读又可写原创 2021-03-29 18:41:51 · 189 阅读 · 0 评论 -
网络编程(六)——RST
RST产生的三个条件:原创 2021-03-29 14:29:46 · 1995 阅读 · 0 评论 -
网络编程(四)—— 子进程退出处理方法
1.被中断的系统调用2.信号不排队3.原创 2021-03-29 14:19:23 · 605 阅读 · 0 评论 -
网络编程(三)——tcp基本编程
1.ipv4结构2.socket3.connect4.bindbind就是把ip和端口绑定到套接字上客户端可以不调用bind绑定端口,内核会临时分配一个,但是服务器不能不绑定端口,如果不绑定那客户端就没法连到服务器5.listen6.accept7.closefork后,父进程打开的描述符被复制到子进程一份,所以这些文件描述符的引用计数为2.只有父子进程都关闭该描述符,该描述符才会真正被关闭...原创 2021-03-26 16:39:59 · 106 阅读 · 0 评论 -
网络编程(二)——tcp、udp基础
1.ipv4数据包最大大小是65535字节,包括ipv4首部2.最大传输单元MTU通常为1500字节,IPv4要求的最小链路MTU是68字节,这是允许最的IPv4首部拼接最小的片段,当一个IP数据包大小超过MTU时,将会分片3.TCP中的MSS(最大分节大小),用于向对端通告对端在每个分节中能发送的最大数据量4.tcp发送缓冲区...原创 2021-03-26 14:42:04 · 452 阅读 · 0 评论 -
网络编程(一)——tcp握手与挥手
握手挥手原创 2021-03-26 10:23:28 · 109 阅读 · 0 评论 -
网络编程(五)——SIGPIPE
转:https://blog.youkuaiyun.com/u010821666/article/details/81841755产生SIGPIPE的原因SIGPIPE信号产生的原因:简单来说,就是客户端程序向服务器端程序发送了消息,然后关闭客户端,服务器端返回消息的时候就会收到内核给的SIGPIPE信号。TCP的全双工信道其实是两条单工信道,client端调用close的时候,虽然本意是关闭两条信道,但是其实只能关闭它发送的那一条单工信道,还是可以接受数据,server端还是可以发送数据,并不知道clien转载 2021-03-18 10:01:16 · 396 阅读 · 0 评论 -
NAT协议—私有地址主机如何和外网通信
转载:https://blog.youkuaiyun.com/hanzhen7541/article/details/79064013NAT(Network Address Translation)协议:在私有地址和全局地址之间转换的协议。首先什么是私有地址?私有地址是不能用在Internet上(路由器将丢弃寻址这种地址的包)的内部地址。这些地址是不能够在公网上面用的,只能用在局域网的内部。私有地址有三种:①10.0.0.0~10.255.255.255/8 ②172.16.0.0~172.31.255.255/1转载 2021-01-08 18:27:27 · 1928 阅读 · 0 评论 -
图解TCP/IP—ip包分割与构成处理(MTU)
1. 分割与构成2. 路径MTU发现原创 2021-01-06 18:16:17 · 851 阅读 · 1 评论 -
图解TCP/IP—路由表
原创 2021-01-06 18:13:42 · 1342 阅读 · 0 评论 -
图解TCP/IP—IP地址分类及子网掩码
1. 地址分类2. 广播地址3. 多播地址4. 子网掩码网络分为ABCD四类,子网掩码相当于在分类的基础上,对主机标识部分进行了细分,相当于扩展了网络标识部分,使得一类网络下的主机标识细分为不同的子网网络地址:将主机标识全部置0广播地址:将主机标识全波置15. 全局地址与私有地址...原创 2021-01-06 18:10:20 · 489 阅读 · 0 评论 -
connect连接失败后必须关闭套接字
若connect失败也该套接字不可再用,必须关闭,重新创建套接字原创 2020-09-01 21:34:08 · 616 阅读 · 0 评论 -
数据报与流式套接字区别
流式套接字(TCP)是面向流的,也就是应用层看到的所有数据是一个流,没有消息保护边界,应用层并不能从这一整个流中区分出每一包数据。例如发送方发送了三次“hello!”,接收方在发送方发完三次数据后在进行读取,那么在接收方缓冲区足够大的情况下read一次会读出来”hello!hello!hello!“,即发送方发了三次数据,但是接收方一次就都接收了,接收方并不知道发送方是发送了三次数据,并且也不知道这三次分别发的什么。所以一般用tcp的话,需要应用层自己定义一套协议来划分出一个数据包的内容,例如加包头包尾标志原创 2020-09-30 09:46:39 · 2397 阅读 · 0 评论 -
本地unix套接字bind失败问题
本地套接字不需要绑定本地ip,但是需要绑定一个绝对路径的文件,需要注意的是调用bind绑定到这个文件之前,这个文件应该是不存在的,如果在bind之前,这个文件就已经存在了,那么bind会失败,提示Address already in use。Unix 本地套接字的优势体现在它所使用的 API 几乎等同于网络 socket(客户/服务器)使用的 API,但是与客户端和服务端都在同一主机上的 TCP 相比,Unix 本地字节流套接字有性能上的优势。在单个主机,使用 Unix 域套接字来替代 Internet原创 2020-09-29 18:27:09 · 2456 阅读 · 0 评论 -
慢系统调用遇见EINTR处理
https://blog.youkuaiyun.com/u010994304/article/details/53467112转载 2020-09-08 18:06:56 · 247 阅读 · 0 评论 -
TCP活动窗口
https://www.cnblogs.com/alifpga/p/7675850.html转载 2020-08-10 18:31:17 · 170 阅读 · 0 评论