• 网络编程socket


    网络编程

      网络编程通常指的是计算机中的互联网,是由多台计算机通过网线或其他媒介仙湖链接组成的

      编写基于网络的应用程序的过程称之为网络编程

      学习网络编程就是要学习利用网络来与另一台计算机相互传输数据,开发出支持网络通讯的应用程序

    C/S构架

      提供数据的一方称之为服务器(Server)

      访问数据的一方称之为客户端(Client)

      浏览器也可以访问服务器上的网页数据,称之为B/S,其本质上也是C/S只不过客户端是浏览器

    网络通讯的基本要素

      两台计算机的想要通讯必须要具备两个基本要素

      1 物理连接介质,包括网线,无线网,光纤等

      2 通讯协议

    通讯协议

      协议就是标准,大家遵循相同的标准才能正常交流通讯

      作为应用程序开发者,物理介质不需要我们关心,通讯协议才是我们学习的重点

      OSI 七层模型

      应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

      五层:应用层,传输层,网络层,数据链路层,物理层

      四层:应用层,传输层,网络层,网络接口层

      为了降低学习整个通讯流程的复杂度,将其简化为五层,四层

      其中五层是我们学习的重点

      一、物理层    就是物理介质

      二、数据链路层

        以太网协议(Ethernet)工作在数据链路层,其规定了电信号分组的方式以及电信号应该包含的内容

        ethernet规定:

        一组电信号构成一个数据包,叫做帧;

        每一数据帧分为:报头和数据data两部分

          head包含(固定18个字节)

            发送者/源地址,6个字节

            接收者/目标地址,6个字节

            数据类型(标签+以太网型),6个字节

          data包含:(最短46个字节,最长1500字节)

            数据包的具体内容

        head长度+data长度最短64字节,最长1518字节,超过最大限制就分片发送

        MAC地址

          每块网卡出厂时有世界上唯一的mac地址,长度为48位二进制

      三、网络层 

        ip协议是工作在网络层的协议,全称internet protocol address翻译为互联网协议地址

        ip协议的地址称之为ip地址,广泛应用的v4版本即ipv4,规定网络地址由32位二进制表示

        范围 0.0.0.0 - 255.255.255.255

        一个ip地址通常写成四段十进制,前三位网络号标识子网,最后一位主机号标识主机

    ************************************笔记*************************************************************

    网络编程

      开发基于网络的应用程序

    通讯的两个要素

      1.物理连接介质

        网线 wifi 光纤

      2.通讯协议

        指的是发送方与接收方共同定制的一套规范

    CS构架

      客户端 和 服务器

      提供数据的一方称之为服务器

      访问数据的一方称之为客户端

    OSI七层模型

      开放式系统互联通信参考模型

      应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

      五层模型

      应用层,传输层,网络层,数据链路层,物理层

      四层模型

      应用层,传输层,网络层,网络接口层

      

      物理层:负责用于规范物理连接介质的协议

        虽然可以传输二进制

        问题是:对方不知道二进制到底有什么含义

      数据链路层

        工作在这一层的是以太网协议

        1.规定一组电信号由多少位组成

        2.一组电信号分为head和data

        3.每一台计算机必须具备一个网卡

          网卡上有一个全球范围内唯一的mac地址

        4.采用广播的方式来查找对方计算机

      网络层

        工作在这一层的是IP协议 网络地址协议

        每一台计算机必须拥有一个IP地址

        IPV4 4位十进制 0.0.0.0-255.255.255.255

        前三段用于区分网络号

        后一段用于主机号

        子网掩码:判断两个ip是否属于同一局域网

        路由协议:用于选择出一条最短的传输路径

        arp协议:通过ip地址获取地方MAC

        ip地址分为 a,b,c,d,e
        可以通过ip定位到全球范围内的某个局域网中的某一台计算机

      传输层

        规定每一个应用程序都必须拥有一个端口号

        TCP协议:可靠传输协议,速度慢每次都要等待确认信息完整

            三次握手:确认传输通道是可用的

            四次挥手:确认数据传输全部完毕

        UDP协议:不可靠传输协议

            把数据发送到网络就结束,不关心对方是否接收到

            效率高

      应用层

        是由c和s双方共同商量确定的数据结构

    socket

      内部封装了传输层一堆协议,留下简单的调用接口

      调用socket提供接口就可以完成网络通讯

      并且不需要关心协议内容

      提高开发效率

        

  • 相关阅读:
    LightOJ1074(spfa+dfs标记负环及负环能够到达的点)
    (模板)AC自动机模板
    poj3660(floyd最短路)
    (模板)hdoj2544(最短路--bellman-ford算法&&spfa算法)
    hdoj4099(字典树+高精度)
    poj1056(字符串判断是否存在一个字符串是另一个字符串的前缀)
    hdoj1247(字典树)
    poj3630||hdoj1671(字典树)
    (模板)hdoj1251(字典树模板题)
    poj3348(求凸包面积)
  • 原文地址:https://www.cnblogs.com/LinChengcheng/p/10453019.html
Copyright © 2020-2023  润新知