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

国内十大网站制作公司床上爱做网站

国内十大网站制作公司,床上爱做网站,福建建设局网站,微信小程序怎么弄成二维码网络通信的本质进程是人在系统中的代表,只要把数据交给进程,人就相当于拿到了数据。数据传输到主机不是目的,而是手段,到达主机内部,在交给主机内的进程,才是目的。上网,只有两种行为&#xff1…

网络通信的本质

进程是人在系统中的代表,只要把数据交给进程,人就相当于拿到了数据。

数据传输到主机不是目的,而是手段,到达主机内部,在交给主机内的进程,才是目的。

上网,只有两种行为:

1.从远端服务器,获取数据

2.本地数据,上传到远端服务器

进程(内存)-> 网卡 -> 网络(进程和网卡的交互就是IO操作)

网络通信的本质:其实是两个不同主机的进程在进行数据交互

再进一步:网络通信本质是进程间通信(让不同进程看到同一份资源,网络)

端口号(网络层面标识网络进程唯一性)

        在系统中,同时会存在非常多的进程,当数据到达目标主机后,怎么转发给目标进程?用端口号标识网络进程的唯一性。

端口号认识:

  • 端口号port是传输层协议的内容。
  • 端口号是一个2字节16位的整数。
  • 端口号用来标识一个进程,告诉操作系统,当前这个数据交给哪一个进程来处理。

端口号 vs pid:

  • 不是所有的进程,都要进行网络通信。
  • 从技术角度,pid是可行的。但pid是一个系统的概念,如果pid变化了,传输层协议就要跟着变化,端口号设计为了解耦

IP:标识全球范围内唯一主机

port:标识该主机的唯一网络进程

IP+port = 全网唯一一个进程

网络通信本质:全网唯二的两个进程在进行进程间通信。

socket = IP + port 

socket翻译插座,理解:插上插头就能通电。

拓展:一个进程可以对应多个端口号,一个端口号只能对应一个进程。

  • 0 - 1023 : 知名端口号, HTTP, FTP, SSH 等这些广为使用的应用层协议, 他们的端口号都是固定的.
  • 1024 - 65535 : 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的.

传输层的经典代表

TCP ( Transmission Control Protocol 传输控制协议):
  • 传输层协议
  • 有连接
  • 可靠传输
  • 面向字节流(数据源源不断传输)
UDP ( User Datagram Protocol 用户数据报协议):
  • 传输层协议
  • 无连接
  • 不可靠传输(丢包不重传)
  • 面向数据报(数据是一块一块传输的)

不可靠:要看成是中性词。

        可靠和不可靠只是TCP和UDP的特点,没有明显的优劣。可靠意味着做更多工作,更复杂,占用更多资源;不可靠意味着很简单。

网络字节序

         内存中的多字节数据相对于内存地址有大端和小端之分, 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分, 网络数据流同样有大端小端之分. 那么如何定义网络数据流的地址呢?

        网络络数据流的地址规定: 先发出的数据是低地址,后发出的数据是高地址。
回顾大小端(以字节为单位存储,例如数据 0x 12 34 56 78):
  • 小端,低权值位存低地址,高权值位存高地址,即 0x 78 56 34 12(地址从左向右依次增大)
  • 大端,低权值位存高地址,高权值位存低地址,即 0x 12 34 56 78(地址从左向右依次增大)

        TCP/IP协议规定,网络数据流应采用大端字节序,即低地址高字节。不管这台主机是大端机还是小端机, 都会按照这个TCP/IP规定的网络字节序来发送 / 接收数据。

socket背景与设计

system V --- 本地进程间通信(过时)

POSIX标准  --- 网络通信,进程通信(也能进行本地通信)

网络socket 和 本地socket(本地通信,unix域间通信)

本地通信保存了108字节的路径名:通过打开同一路径下的同一文件,看到同一文件缓冲区(命名管道)

socket会有很多种类,满足不同的应用场景 -> socket设计者只提供一种通信接口

        设计上,struct sockaddr是基类,struct sockaddr_in 是网络通信子类,struct sockaddr_un 是本地通信子类,两个子类的前16为地址类型,AF_INET为网络,AF_UNIX为本地。这就实现了一套继承体系,传参时将子类指针强转成基类指针,基类指针指向不同子类就是不同的表现,这就是多态。

socket编程接口

int socket(int domain, int type, int protocol);   // 打开网络文件

  • domain:AF_INET,表示网络通信
  • type:SOCK_DGRAM,用户数据报套接字
  • protocol:传0
  • 返回值:成功返回文件描述符,失败-1返回,错误码被设置

int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);  //绑定端口号

  • sockfd:socket的返回值,网络文件描述符
  • addr:基类指针,传不同的子类指针强转,指向不同的子类(网络或本地等)
  • addrlen:传的addr指向对象的大小
  • 返回值:成功0返回,失败-1返回,错误码被设置

网络通信结构struct sockaddr_in:

  • 第一个成员变量为:宏,替换后实质上 sa_family_t  sin_famliy; (sa_family_t 本质是一个无符号短整形,sin_family是通过宏替换+##拼接符号的一个变量名)2字节
    作用:标识通信方式
  • 第二个成员变量:in_port_t   sin_port; (in_port_t 本质一个16位无符号整数)2字节
    作用:端口号
  • 第三个成员变量:struct in_addr   sin_addr; (struct in_addr 里面只有一个成员变量 in_addr_t类型,in_addr_t是一个32位无符号整数)4字节
    作用:IP地址
  • 最后一个成员变量:8字节填充

192.168.0.123 -> 点分十进制方案的IP地址,只需要4个字节,每个字节取值范围[0, 255]

http://www.dtcms.com/a/425549.html

相关文章:

  • 技术支持 哈尔滨网站建设网站顶部素材
  • 厦门seo网站建设费用wordpress logo不显示
  • 亚马逊的网站建设分析wordpress xmlrpc api
  • 外贸网站推广机构网站建设 合同
  • 哈密建设局网站建设网上银行app下载安装
  • 网站开发 自动填写表单珠海市住房和城乡建设厅网站
  • 5000个网站资源做外链工程建设标准化
  • 企业管理系统免费网站平面设计师网上接单
  • 微信网站建设新闻社区电商小程序
  • 网上商城 网站建设 解决方案多用户开源商城
  • 网站管理系统安装 -如何创建一个网络平台
  • 郑州做网站公司 卓美免费不收费的app
  • 网站建设下一步计划西安知名网站推广
  • 广告公司网站首页时代强个人网站
  • 利用博客做网站排名python基础教程第二版
  • 通州网站建设多少钱中国网站建设银行-个人客户
  • 对网站进行seo优化国内 响应式网站
  • 飞翔时代网站建设外贸网站外包
  • 工厂招工信息杭州seo推广排名稳定
  • 一个彩票网站建设wordpress删除
  • 南宁网站建设q479185700惠电子商务网站软件建设的核心是
  • 企业网站制作免费下载专业定制网吧桌椅
  • iis怎么部署网站长沙app开发制作公司
  • 网站建设实训心得 总结北京网站优化公司
  • 手机网站一键分享百度指数官网登录
  • 建成局网站建设网站建设doc
  • 昆明专业网站营销技术支持::天空网络-临汾做网站
  • 太仓市住房和城乡建设局官方网站天津滨海新区天气预报
  • 男女做那个是的视频网站大连网站建设服务
  • WordPress需要编程知识吗顺义网站优化