Ch5LinuxNetworkProgramming課件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch5LinuxNetworkProgramming課件

Ch5 Linux Network Programming Jianjian SONG Software Institute, Nanjing University Nov. 2004 Content TCP/IP Review Berkeley Socket Basics System Calls and Routines Network information Multi-client Using inetd/xinetd Remote Procedure Call (RPC) 1. TCP/IP Review 互联网的历史 1969年,ARPA进行互联网试验。 1972年,ARPAnet,采用分组交换技术,使用NCP协议(Network Control Program) 1973年,TCP的思想提出 1980年,TCP/IP加入UNIX内核(BSD4.1) 1982年,TCP/IP取代NCP成ARPAnet标准 1983年,开发出域名服务系统(DNS) 1991年,WWW的出现 …… TCP/IP OSI Model 2. Berkeley Socket Basics TCP/IP in UNIX BSD4.1 socket connection: 协议、本地地址、本地端口、远程地址、远程端口 socket: 协议、本地地址、本地端口 socket也是文件 要解决的问题 支持多种协议族 面向连接的服务和无连接的服务 地址的表示(数据结构) 主机字节顺序和网络字节顺序 Three Types of Sockets 流套接字(SOCK_STREAM) 可靠的、面向连接的通信。 使用TCP协议 数据报套接字(SOCK_DGRAM) 无连接服务 使用UDP协议 原始套接字(SOCK_RAW) 允许对底层协议如IP、ICMP直接访问 基于连接的服务 Server程序的作用 程序初始化 持续监听一个固定的端口 收到Client的连接后建立一个socket连接 与Client进行通信和信息处理 接收Client通过socket连接发送来的数据,进行相应处理并返回处理结果,如BBS Server 通过socket连接向Client发送信息, 如Time Server 通信结束后中断与Client的连接 Client程序的作用 程序初始化 连接到某个Server上,建立socket连接 与Server进行通信和信息处理 接收Server通过socket连接发送来的数据,进行相应处理 通过socket连接向Server发送请求信息 通信结束后中断与Client的连接 无连接的服务 UDP编程的适用范围 部分满足以下几点要求时,应该用UDP 面向数据报 网络数据大多为短消息 拥有大量Client 对数据安全性无特殊要求 网络负担非常重,但对响应速度要求高 例子:ICQ、视频点播 具体编程时的区别 socket()的参数不同 UDP Server不需要调用listen和accept UDP收发数据用sendto/recvfrom函数 TCP:地址信息在connect/accept时确定UDP:在sendto/recvfrom函数中每次均需指定地址信息 UDP:shutdown函数无效 Byte order 网络字节顺序(NBO,Network Byte Order) 使用统一的字节顺序,避免兼容性问题 主机字节顺序(HBO,Host Byte Order) 不同的机器HBO不相同,与CPU设计有关 Motorola 68k系列,HBO与NBO相同 Intel x86系列,HBO与NBO相反 Byte Ordering Routines Convert values between host and network byte order #include netinet/in.h uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t hostlong); uint16_t ntohs(uint16_t hostshort); 3. System Calls Routines socket system call header file #include sys/types.h #include sys/socket.h socket: creates an endpoint for communication and returns a descriptor. int socket(int domain, int type, int protocol); socket system call (cont’d

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档