欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    网络编程笔记.doc

    • 资源ID:70333446       资源大小:1.88MB        全文页数:27页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    网络编程笔记.doc

    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. 解析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次握手队列的总和。 比如如果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接收了一个根本不存在的连接上的分节。1  Connect 函数返回错误ECONNREFUSED:如果对客户的SYN的响应是RST,则表明该服务器主机在我们指定的端口上没有进程在等待与之连接(例如服务器进程也许没有启动),这称为硬错(hard error),客户一接收到RST,马上就返回错误ECONNREFUSED.TCP为监听套接口维护两个队列。两个队列之和不超过listen函数第二个参数backlog。当一个客户SYN到达时,若两个队列都是满的,TCP就忽略此分节,且不发送RST.这个因为:这种情况是暂时的,客户TCP将重发SYN,期望不久就能在队列中找到空闲条目。要是TCP服务器发送了一个RST,客户connect函数将立即发送一个错误,强制应用进程处理这种情况,而不是让TCP正常的重传机制来处理。还有,客户区别不了这两种情况:作为SYN的响应,意为“此端口上没有服务器”的RST和意为“有服务器在此端口上但其队列满”的RST.Posix.1g允许以下两种处理方法:忽略新的SYN,或为此SYN响应一个RST.历史上,所有源自Berkeley的实现都是忽略新的SYN。2如果杀掉服务器端处理客户端的子进程,进程退出后,关闭它打开的所有文件描述符,此时,当服务器TCP接收到来自此客户端的数据时,由于先前打开的那个套接字接口的进程已终止,所以以RST响应。       经常遇到的问题:              如果不判断read , write函数的返回值,就不知道服务器是否响应了RST, 此时客户端如果向接收了RST的套接口进行写操作时,内核给该进程发一个SIGPIPE信号。此信号的缺省行为就是终止进程,所以,进程必须捕获它以免不情愿地被终止。              进程不论是捕获了该信号并从其信号处理程序返回,还是不理会该信号,写操作都返回EPIPE错误。3  服务器主机崩溃后重启如果服务器主机与客户端建立连接后崩溃,如果此时,客户端向服务器发送数据,而服务器已经崩溃不能响应客户端ACK,客户TCP将持续重传数据分节,试图从服务器上接收一个ACK,如果服务器一直崩溃客户端会发现服务器已经崩溃或目的地不可达,但可能需要比较长的时间; 如果服务器在客户端发现崩溃前重启,服务器的TCP丢失了崩溃前的所有连接信息,所以服务器TCP对接收的客户数据分节以RST响应。27. I/O 模型:28. select函数过去,一个fd_set通常只能包含<32的fd(文件描述字),因为fd_set其实只用了一个32位矢量来表示fd;现在,UNIX系统通常会在头文件<sys/select.h>中定义常量FD_SETSIZE,它是数据类型fd_set的描述字数量,其值通常是1024,这样就能表示<1024的fd。根据fd_set的位矢量实现,我们理解操作fd_set的四个宏fd_set set; FD_ZERO(&set);FD_SET(0, &set);FD_CLR(4, &set);FD_ISSET(5, &set); 第一个参数maxfdl表示从0开始到maxfdl-1中间,查找状态有变化的fd。 所以maxfd1必须为三个fd中的最大fd , 然后加上1.29. shutdown函数:RWWR参数与close的区别是:close会判断链接数,如果连接数大于1, 则不会close掉该链接。30. IO复用31. getsocket, setsocket函数下面这个很重要:也就是说:如果服务器端接收了一个client_fd, 为了让client_fd具有上面选项,那么就必须给服务器的监听fd设置此选项。32. 检测各种tcp条件的方法33. SO_LINGER34. SO_RCVBUF, SO_SNDBUF套接口选项。即:sndbuf, rcvbuf必须在连接(connect)或监听(listen)之前就设置好。35. SO_RCVLOWAT, SO_SNDLOWAT36. SO_RCVTIMEO SO_SNDTIMEO37. SO_TYPE38. FCNTL函数虽然其他的函数比如ioctl也可以设置,但是用fcntl最理想。39. x40. x41. x42. x43. x44. x45. x46. x47. x48. x49. x50. xx51. x52. xx53. x54. xx55. x56. x57. x58. x59. x60. x61. x62. x63. x64. x65. x66. x67. x68. x69. x70. 答案开始页面为:813

    注意事项

    本文(网络编程笔记.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开