linux系统编程第10天网络基础socket1教学_第1页
linux系统编程第10天网络基础socket1教学_第2页
linux系统编程第10天网络基础socket1教学_第3页
linux系统编程第10天网络基础socket1教学_第4页
linux系统编程第10天网络基础socket1教学_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux网络编第一tcptcp并第三

多线tcp第四水边边沿非阻广组libevent开源第七第八十自己实现一个MiniWeb服务http协 b-处理网络 业务处1网络基网络应用程序设计模C/S-优点1.议选用灵活2.以缓存数缺点:1.对用户安全构成2.开发工作量大,调B/S-优点平缺点:只能使用协议的规则:数据传输和数据解释的规原始协议------>(改进、完善)>标准典型协议:TCP/UDPHTTPFTPIP分层模7层模型绞线据的传输和错误检测网--为数据包选择路由提供端对端的接口会--解除或建立与别的节点的联系表据格式化,代码转换,数据加件传输,电子邮件,文件服务,虚拟终4层模型TCP/IP:络接口层网络层传输层应用层协议格据包的封装网络层数据1太网帧格式助mac地址完网络层数据2>.IP段格式□arp数据报据IP获取mac□arp数据报据IP获取mac8位生存时间(TTL):最多能经过多32位源IP地址:数据发送端32位目的IP地址:数据接收端3>.UDP数据包16位源端口 进16位目的端口 -进程应用层协议应用层协议IP位一台主Port位一个进4>.TCP数据报格 -端口 位滑动窗空和接.数据的和接

应用层协议

的tcp,udp传输层协tcp:面向连接的安全的流式传输连接的时候进行三次握数据发送的时候,会进行数据确□数据丢失之后会进行数据重客户udp:面向无连接的不安全的报式连接的时候不会数据发送出去之后就不管发送数发送数不存在丢失一半的情协 ftp 文文件文件内文件大小 数协议分区10-网络62socket编socket什么是网络通信的函数封装了传输层封装的是套接字IP地端网络字大端:网络字节小端:-主机字节数据的字节 在内存的高地址常见主机数据是小端作业:写程序验证数据是大端还是小端相关函数--头文件:#include类型int端uint32_thtonl(uint32_t端uint32_tntohl(uint32_t端uint32_tntohl(uint32_t□IP地址转换函a.指定IP点分十进制本地IP转网络字节 字符串-->int(大端方式intinet_pton(intaf,constchar*src,void网络字节序转本地 int->字符constchar*inet_ntop(intaf,constvoid*src,char*dst,socklen_t

网络字节序的整形sockaddr数据结structsockaddrsa_family_tsa_family;/*14bytesofprotocoladdress*/charsa_data[14];structsockaddr_inkernel_sa_family_tsin_family;//be16sin_port;structin_addrsin_addr;IP地unsignedchar pad[SOCK_SIZE sizeof(unsignedshortint)-sizeof(structin_addr)];structin_addrbe32网络套int ,inttype,int创建套□ tcp式协udp式协protocol-返回值:文件描述符(套接字intbind(intsockfd,conststructsockaddr*addr,socklen_t将本地的IP和端口与创建出的套接参数sockfd-addr口和addrlen-addr结构体的长intlisten(intsockfd,int设置同时连接到服务器的客户端的参数socket函数创建出来的文件描述intaccept(intsockfd,structsockaddr*addr,socklen_t阻塞函阻塞等待客户端连接请求 并接受连参数sockfd:文件描述符 使用socket创建出的文件描述的文件描 客户端的端口和IP,addrlen:传入传出参返回值:返回的是一个套接字,对应客户服务器端与客户端进程通信使用accept的返回值对应的套接intconnect(intsockfd,conststructsockaddr*addr,socklen_tsockfd:套接addr:服务器端的IP和端addrlen:第二个参数的C/S模型-TCP--面向连接的可靠数据包传服务器客户----套接字-服务器端客户端-socket-网络IO创建一个套接字,得到是文件描述符管道:-rrw内存中一块空套接字创建成功,得到一个文件描述符

大端-小小端法表AdobePSBigEndianBMP–LittleEndianGIF–LittleEndianJPEG–BigEndianMacPaintBigEndianRTF–LittleEndian另外,Java和所有的网络通讯协议都是Big-Endian的编

思考题inta=读这个字节中网络模 底 物-物理数-数据链路层网-网络层传-传输层会-会话层表-表示上层应-应用o

Tcp/IP四次模数据链路层[网络接口]-以太网帧协议网络层-IP传输层-应程序oo应用层传输层腾10-网络基14 网AA路由节B路由节路由分区10-网络15

DNS-解析服务-拿到了IP地DNS1310老1英1瑞1鬼1016tcp通信流 服务器端-2个文件描述创建套接字-intlfd=

客户-只有一文件描intfd=intfd=bind(lfd,(structsockaddr*)&serv,sizeof(serv));

connect(fd&servaddr,设置listen(lfd,

发送数据write(fd,buf,structsockaddr_in等待并接收连intcfd等待并接收连in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论