网络编程笔记.doc
《网络编程笔记.doc》由会员分享,可在线阅读,更多相关《网络编程笔记.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1. 网络模型:2. UDP3. TCP的三次握手协议(socket连接):4. 连接终止(4次)首先:主动方A调用close会导致一个tcp 发送fin分节发送给B。 (这里是tcp自动发送的,内核驱动的)。然后:B接收到fin之后给A一个ACK信号进行确认(这个ack也是内核发送的)。接下来:B应用进程收到fin之后,调用close,导致发一个fin分节给A最后:发送一个给进行确认, 5. 状态转化图:6. 对上面的time_wait状态的一个解释: 这就是为什么执行mdbbar net然后cut掉的时候,用netstat 看还是有time_wait状态的socket的原因了。 7. 解析
2、MSL。 超时重传分组。8. 套接口对:9. 缓冲区大小(Maxitum Segment Size 最大分段大小)。10. 如何发送读取数据(套接口发送缓冲区)(下面的信息很重要)11. UDP如何发送数据12. TCP/UDP小结13. 字节序:14. 端口,地址转换。15. 自实现的readn ,written 上面2个函数类似smdb中的send_all与recv_all函数。都是一个封装的函数16. socket函数AF_XXXX其中,AF表示地址族,address family17. connect函数18. bind函数19. listen函数Backuplog的意思大概为: 等待
3、队列和已完成3次握手队列的总和。 比如如果backlog=2, 那么,如果等待队列中有1个请求,已完成队列中有1个请求,如果客户端再来一个请求,则会被忽略。20. accept函数21. fork函数22. 并发服务器23. close函数24. getsocketname 和getpeername函数25. netstat显示网络状态26. RST分节UNIX网络编程中RST分节总结RST的含义为“复位”,它是TCP在某些错误情况下所发出的一种TCP分节。有三个条件可以产生RST: 1), SYN到达某端口但此端口上没有正在监听的服务器。 2), TCP想取消一个已有连接 3), TCP接收
4、了一个根本不存在的连接上的分节。1Connect 函数返回错误ECONNREFUSED:如果对客户的SYN的响应是RST,则表明该服务器主机在我们指定的端口上没有进程在等待与之连接(例如服务器进程也许没有启动),这称为硬错(hard error),客户一接收到RST,马上就返回错误ECONNREFUSED.TCP为监听套接口维护两个队列。两个队列之和不超过listen函数第二个参数backlog。当一个客户SYN到达时,若两个队列都是满的,TCP就忽略此分节,且不发送RST.这个因为:这种情况是暂时的,客户TCP将重发SYN,期望不久就能在队列中找到空闲条目。要是TCP服务器发送了一个RST,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 笔记
限制150内