当前位置: 首页 > news >正文

html网页素材青岛网站优化快速排名

html网页素材,青岛网站优化快速排名,秦皇岛哪里做网站,建立公司企业网站目录 一、预备知识 1.IP地址 2.端口号 3.网络通信 4.TCP协议简介 5.UDP协议简介 6.网络字节序 二、socket 1.什么是socket(套接字)#xff1f; 2.为什么要有套接字#xff1f; 3.套接字的主要类型 拓】网络套接字 三、socket API 1.socket API是什么#xff1f; 2.为什么…目录 一、预备知识  1.IP地址 2.端口号 3.网络通信 4.TCP协议简介 5.UDP协议简介 6.网络字节序 二、socket 1.什么是socket(套接字) 2.为什么要有套接字 3.套接字的主要类型 拓】网络套接字 三、socket API 1.socket API是什么   2.为什么要有Socket API? 3.Socket编程常见API 3.1 socket() int socket(int domain, int type, int protocol);  3.2 bind() 3.3 listen () 3.4 accept() 3.5 connect () 四、sockaddr 1. 是什么 2. 为什么 3. sockaddr的分类 4.Linux中sockaddr的声明 5.创建并填充struct sockaddr_in 6.使用sockaddr传参 一、预备知识  1.IP地址 1.1 是什么         IP地址是在IP协议中, 用来标识网络中不同主机的地址。 1.2 IPv4 IPv6 对于IPv4来说, IP地址是一个4字节, 32位的整数。通常使用 点分十进制 的字符串表示IPv4地址, 例如 123.145.67.89 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;对于IPv6来说, IP地址长度为16字节128位是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用采用十六进制表示。具体表示方式请看IPv6- 百度百科 1.3源IP和目的IP 在IP数据报(在网络层向数据链路层传递数据时封装)的首部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址。源IP地址发送消息的主机地址。目的IP地址接收消息的主机地址。 2.端口号 2.1 是什么          端口号是一个2字节16位的整数用来标识一个进程。 2.2 pid 表示唯一一个进程; 端口号也是唯一表示一个进程. 那么这两者之间是怎样的关系?          端口号 和 进程pid没有任何关系。端口号用于网络通信而进程pid用于进程管理网络通信和进程管理是两个毫不相干的模块。之所以不用pid来代替端口号的功能是为了功能解耦减少系统的耦合度。不是所有的进程需要端口号但是所有的进程都需要PID。一个进程可以有多个端口号; 但一个端口号只能被一个进程占用。 2.3 理解源端口号和目的端口号 传输层协议(TCP和UDP)的数据段中有两个端口号分别叫做源端口号和目的端口号。 就是在描述 数据是谁发的, 要发给谁。源端口号发送消息的进程的端口号。目的端口号接收消息的进程的端口号。 3.网络通信 3.1 是什么         网络通信的本质就是进程间通信。 3.2 为什么         发送数据的主机由进程发出数据接收数据的主机也要靠进程处理数据。简化后其实就是一个进程发出数据另一个进程处理数据。所以说网络通信的本质就是进程间通信。 3.3 网络通信时如何保证IP地址端口号能找到指定进程 客户端进程给服务端进程发信息         服务端进程一般都是一经启动避免关闭所以服务端进程的端口号不会随意改变。所以客户端进程能根据下载软件时得到的IP地址端口号找到服务端进程。     服务端进程给客户端进程发信息         软件被用户打开后客户端进程和端口号被创建此时客户端进程要先向服务端发信息来获取数据所以服务端进程就得到了客户端进程的IP地址端口号往后服务端进程能根据客户端进程的IP地址端口号找到客户端进程。所以我们打开软件后通常会加载一会 3.4 OS如何根据端口号找到指定的进程         底层采用哈希的方式建立了端口号和进程PID或PCB之间的映射关系当底层拿到端口号时就可以在哈希表中根据端口号找到对应的进程。 3.5 网络通信是双方的         当一台主机发送数据给另一台主机时发送方除了要发送数据外还要把自己的 IP地址和端口号 发送给接收方所以接收方能给发送方回数据。所以说通信是双方的。 4.TCP协议简介 TCP(Transmission Control Protocol 传输控制协议)TCP协议是一种有连接、可靠、面向字节流的传输层通信协议。TCP协议是面向连接的如果两台主机之间想要进行数据传输那么必须要先建立连接当连接建立成功后才能进行数据传输。TCP协议是可靠的因为TCP协议注重丢包率 TCP协议花费大量开销解决数据在传输过程中出现的丢包、乱序等问题保证不丢包。文件传输、电子邮件、网站访问一般用的就是TCP协议。 5.UDP协议简介 UDP(User Datagram Protocol 用户数据报协议)UDP协议是一种无连接、不可靠、面向数据报的传输层通信协议。 使用UDP协议进行通信时无需建立连接如果两台主机之间想要进行数据传输那么直接将数据发送给对端主机就行了。UDP协议是不可靠的因为UDP协议注重效率没有处理在传输数据过程中小概率出现的丢包、乱序等情况。直播一般用的就是UDP协议。 6.网络字节序 6.0 大端字节序和小端字节序 大端字节序是将数据的低位字节放到高地址处高位字节放到低地址处。 大端低地址高字节“大弟高” 小端字节序是将数据的低位字节放到低地址处高位字节放到高地址处。 小端低地址低字节“小弟弟” 6.1 是什么                  即网络通信中共同遵守的字节序规定为 大端字节序低字节高地址。 6.2 为什么 不同计算机的 字节序不同如果在网络通信时不加以规定会出现发送方以大端模式发送数据接收方以小端模式读取数据导致通信失败的情况。 6.3 怎么定义         TCP/IP协议规定,网络数据流应采用大端字节序,即低地址高字节。 不管这台主机是大端机还是小端机, 都会按照这个TCP/IP规定的网络字节序来发送/接收数据。 如果当前发送主机是小端, 就需要先将数据转成大端再发送否则直接发送。 6.4 网络字节序与主机字节序之间的转换函数         为使网络程序具有可移植性,使同样的C代码在大端和小端计算机上编译后都能正常运行,可以调用以下库函数做网络字节序和主机字节序的转换 #include arpa/inet.huint32_t htonl(uint32_t hostlong); //将主机字节序(h)转换为(to)网络字节序(n)要转化的数据是长整数(l)。uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort); 这些函数名很好记h表示hostn表示networkl表示32位长整数s表示16位短整数。所以htonl表示将主机字节序(h)转换为(to)网络字节序(n)要转化的数据是长整数(l)。 如果主机是小端字节序这些函数将参数做相应的大小端转换然后返回。如果主机是大端字节序这些 函数不做转换将参数原封不动地返回。  二、socket 1.什么是socket(套接字)         IP地址端口号就是socket(套接字) 用来标定某主机上的某进程。 2.为什么要有套接字         有了套接字不同主机的进程才能在网络中找到彼此才能进行网络通信(进程间通信的前提是能互相看到彼此)所以说套接字是网络通信的基石。其次有了套接字开发者才能开发出通用的网络通信接口用户也能拿着套接字去使用这些接口。 3.套接字的主要类型 网络套接字应用于跨主机网络通信也支持本地通信主要有两种      a.流套接字用于读取TCP协议的数据。      b.数据报套接字用于读取UDP协议的数据。unix域间套接字只能进行本地通信。原始套接字(SOCK_RAW)可以从应用层直接绕开传输层直接去访问底层协议所以原始套接字可以读写内核没有处理的IP数据包而流套接字只能读取TCP协议的数据数据报套接字只能读取UDP协议的数据。因此如果要访问其他协议发送的数据必须使用原始套接字。 拓】网络套接字 流套接字(SOCK_STREAM)流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复送并按顺序接收。流套接字之所以能够实现可靠的数据服务原因TCP协议。流套接字只能读取TCP协议的数据。数据报套接字(SOCK_DGRAM)数据报套接字提供一种无连接的服务。该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复且无法保证顺序地接收到数据。数据报套接字使用UDP( User DatagramProtocol)协议进行数据的传输。由于数据报套接字不能保证数据传输的可靠性对于有可能出现的数据丢失情况需要在程序中做相应的处理。数据报套接字只能读取UDP协议的数据。 拓】功能强大的套接字         套接字是非常强大的虽然现在主要用于网络通信但其实套接字可以用于几乎任何类型的进程间通信本地通信、各种类型的网络通信等。 三、socket API 1.socket API是什么           是提供给程序员(应用层)做网络开发所用的接口用来实现不同主机中进程的通信。         Socket API(套接字编程接口)实际是 传输层 提供给 应用层 的编程接口用来实现不同主机中进程的通信传输层在网络层的基础上提供进程到进程问的逻辑通道而应用层的进程则利用传输层向另一台主机的某一进程通信。Socket就是应用层与传输层之间的桥梁使用Socket编程可以开发客户端和服务端应用程序从而通过网络实现在全球范围内通信。 2.为什么要有Socket API?         socket(套接字)只是网络通信的前提只有开发出一套通用的网络接口才能实现不同主机中进程的通信。Linux下的这套接口就是Socket API套接字编程接口。 3.Socket编程常见API 3.1 socket() int socket(int domain, int type, int protocol);  //创建socket_fd(套接字 文件描述符用于TCP/UDP网络程序中的客户端 服务器 3.2 bind() //让 socket_fd和sockaddr_in绑定 用于 TCP/UDP 网络程序中的 服务器。 3.3 listen () //开始监听socket用于 TCP 网络程序中的 服务器 3.4 accept() //接收请求用于 TCP 网络程序中的 服务器 3.5 connect () //建立连接用于 TCP 网络程序中的 服务器 四、sockaddr 1. 是什么         struct sockaddr(套接字地址结构体)是Linux用来保存套接字和套接字类型的结构体。 2. 为什么         使用Socket API要需要传入套接字Linux选择用struct sockaddr保存套接字和套接字类型。在Linux下使用Socket API要传入struct  sockaddr*。 3. sockaddr的分类         Linux中只设置了一套Socket API(套接字编程接口)但是有不同类型的套接字(用于IPv4的套接字、用于IPv6的、用于本地通信的) 所以使用struct sockaddr、struct sockaddr_in 、struct  sockaddr_un来区分不同类型的套接字 sockaddr、sockaddr_in 和 sockaddr_un结构体头部的16个比特位2字节都是一样的这16位是地址类型用来区分套接字的类型的根据套接字的类型(IPv4、IPv6……)分别定义为常数AF_INET、AF_INET6…… Socket API都用struct  sockaddr *类型传参将 sockaddr_in 或 sockaddr_un强制类型转换为sockaddr才能被Socket API识别。对于传进来的参数 sockaddr 函数通过前两个字节进行判断是网络通信还是本地通信知道这个结果后再强制类型转换回  sockaddr_in 和 sockaddr_un结构体。这样的好处是程序的通用性, 可以接收IPv4, IPv6, 以及UNIX Domain Socket各种类型的sockaddr结构体指针做为参数。 4.Linux中sockaddr的声明 struct  sockaddr在头文件sys/socket.h中 struct sockaddr_in (在头文件netinet/in.h中) struct sockaddr_un (在头文件sys/un.h中) 5.创建并填充struct sockaddr_in 4.0 导入结构体定义所在的头文件。 #include netinet/in.h struct sockaddr_in 定义在头文件netinet/in.h中。 4.1 定义struct sockaddr_in变量。 struct sockaddr_in local; struct sockaddr_in用来定义Ipv4和Ipv6的套接字结构体用于网络通信。struct sockaddr_un 用来定义UNIX_Domain_Socket(Unix域套接字:用于同一台主机上进程间通信)。用于本地通信。 4.2 初始化结构体 bzero(local, sizeof(local)); 使用bzero() 或 memset()初始化结构体的内存空间为0 。 4.3 设置地址类型 local.sin_family AF_INET; 4.4 设置端口号 (保存端口号的变量为port是一个2字节16位的整数) local.sin_port htons(port); 端口号要被对方获取也是网络数据的一部分所以要考虑大小端问题使用htons函数将主机字节序转为网络字节序。 4.5 设置IP地址 (保存IP地址的变量为ip是一个点分十进制字符串) local.sin_addr.s_addr inet_addr(ip);  inet_addr()的作用         1.将点分十进制字符串风格的IP地址 - 4字节整数         2.ip地址也要考虑大小端将4字节整数 - 网络序列 6.使用sockaddr传参 Socket API只接受struct  sockaddr *类型传参所以将 sockaddr_in、 sockaddr_un强制类型转换为sockaddr才能被Socket API识别。         对于传进来的参数 sockaddr 函数通过前两个字节进行判断是网络通信还是本地通信知道这个结果后再强制类型转换回  sockaddr_in 和 sockaddr_un结构体。这样的好处是程序的通用性, 可以接收IPv4, IPv6, 以及UNIX Domain Socket各种类型的sockaddr结构体指针做为参数。
文章转载自:
http://www.morning.rswfj.cn.gov.cn.rswfj.cn
http://www.morning.sgmis.com.gov.cn.sgmis.com
http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn
http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn
http://www.morning.hxwrs.cn.gov.cn.hxwrs.cn
http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn
http://www.morning.fesiy.com.gov.cn.fesiy.com
http://www.morning.rwzc.cn.gov.cn.rwzc.cn
http://www.morning.lcbnb.cn.gov.cn.lcbnb.cn
http://www.morning.clpkp.cn.gov.cn.clpkp.cn
http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn
http://www.morning.rqnml.cn.gov.cn.rqnml.cn
http://www.morning.ydwsg.cn.gov.cn.ydwsg.cn
http://www.morning.trfh.cn.gov.cn.trfh.cn
http://www.morning.fxzgw.com.gov.cn.fxzgw.com
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.mztyh.cn.gov.cn.mztyh.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn
http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn
http://www.morning.ytbr.cn.gov.cn.ytbr.cn
http://www.morning.dpsyr.cn.gov.cn.dpsyr.cn
http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com
http://www.morning.dbddm.cn.gov.cn.dbddm.cn
http://www.morning.ysybx.cn.gov.cn.ysybx.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.xsfg.cn.gov.cn.xsfg.cn
http://www.morning.ympcj.cn.gov.cn.ympcj.cn
http://www.morning.fqzz3.cn.gov.cn.fqzz3.cn
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn
http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn
http://www.morning.pqsys.cn.gov.cn.pqsys.cn
http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn
http://www.morning.klpwl.cn.gov.cn.klpwl.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.mypxm.com.gov.cn.mypxm.com
http://www.morning.frfpx.cn.gov.cn.frfpx.cn
http://www.morning.nypgb.cn.gov.cn.nypgb.cn
http://www.morning.lfmwt.cn.gov.cn.lfmwt.cn
http://www.morning.mjglk.cn.gov.cn.mjglk.cn
http://www.morning.hfrbt.cn.gov.cn.hfrbt.cn
http://www.morning.qsyyp.cn.gov.cn.qsyyp.cn
http://www.morning.xrct.cn.gov.cn.xrct.cn
http://www.morning.xrqkm.cn.gov.cn.xrqkm.cn
http://www.morning.chongzhanggui.cn.gov.cn.chongzhanggui.cn
http://www.morning.tkcct.cn.gov.cn.tkcct.cn
http://www.morning.gzzncl.cn.gov.cn.gzzncl.cn
http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn
http://www.morning.fpryg.cn.gov.cn.fpryg.cn
http://www.morning.qllcm.cn.gov.cn.qllcm.cn
http://www.morning.zwdrz.cn.gov.cn.zwdrz.cn
http://www.morning.rlns.cn.gov.cn.rlns.cn
http://www.morning.njfgl.cn.gov.cn.njfgl.cn
http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn
http://www.morning.ppgdp.cn.gov.cn.ppgdp.cn
http://www.morning.ksggr.cn.gov.cn.ksggr.cn
http://www.morning.pumali.com.gov.cn.pumali.com
http://www.morning.jyyw.cn.gov.cn.jyyw.cn
http://www.morning.jrqcj.cn.gov.cn.jrqcj.cn
http://www.morning.cqrenli.com.gov.cn.cqrenli.com
http://www.morning.tdldh.cn.gov.cn.tdldh.cn
http://www.morning.smcfk.cn.gov.cn.smcfk.cn
http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn
http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn
http://www.morning.mjtft.cn.gov.cn.mjtft.cn
http://www.morning.bpmnz.cn.gov.cn.bpmnz.cn
http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com
http://www.morning.xnpj.cn.gov.cn.xnpj.cn
http://www.morning.prhqn.cn.gov.cn.prhqn.cn
http://www.morning.hytr.cn.gov.cn.hytr.cn
http://www.morning.tgfsr.cn.gov.cn.tgfsr.cn
http://www.morning.xbnkm.cn.gov.cn.xbnkm.cn
http://www.morning.xbptx.cn.gov.cn.xbptx.cn
http://www.morning.ptwrz.cn.gov.cn.ptwrz.cn
http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn
http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn
http://www.morning.wrysm.cn.gov.cn.wrysm.cn
http://www.tj-hxxt.cn/news/236975.html

相关文章:

  • 营销型企业网站案例分析昆山网站优化公司
  • 网站素材图片wordpress主页链接失效
  • 合肥网站制作专业怎么做网站管理系统
  • 搭建网站代码广州市越秀区
  • 阿里巴巴1688网站做店铺六安做网站公司
  • 上海赶集网站建设什么软件做美食视频网站
  • 兰州高端网站计算机编程培训班
  • 做守望先锋h的网站英语可以做推广的亲子类网站
  • 网站建设网页设计做网站北京管庄网站建设公司
  • 建设部网站官网 施工许可wordpress中文插件下载
  • 建设外包网站营销策略的重要性
  • 学校网站建设工作网站制作 信科网络
  • 网站建设模块化实现怎么找外包公司
  • 外贸网站架构兰州家易选网络科技有限公司
  • 浙江省建设诚信系统网站学生网页设计成品网站
  • 品牌网站建设公司哪家好k5wordpress主题
  • 黑龙江恒泰建设集团网站品牌整合营销机构
  • 网站 数据库+1杭州网络公司哪家服务比较好
  • 做游戏网站要备案吗浙江网站建设费用
  • 哪些公司可以建设网站页面设计原型图
  • 有哪些做产品产业链分析的网站经典设计网站
  • 手机网站制作方法厦门企业网站建设专家
  • 怎么做中英文版网站wordpress调用百度网盘视频
  • c 可以做网站广州公司宣传片设计
  • 网站建设作业素材网站构建器
  • 网站开发与建设的原则咸阳建设网站
  • 网站建设的工作视频人的吗商城微网站模板
  • 咸阳建设网站营销策划包括哪些内容
  • 网站没有备案号会展相关网站建设情况
  • 网站开发进度缓慢深圳市福田区656号