• 网络编程理论基础


    一个重要概念:Socket与TCP、UDP之间的关系?

         SOCKET是API,而TCP/UPD是通信协议,即:SOCKET是TCP、UDP的实现方式,用SOCKET编程可以实现TCP、UDP的通信。

          SOCKET就像一个管子,连接两端。而TCP、UDP就像管子中的东西。是液体还是气体。也就是传送的协议

      语言表达的例子:
    用SOCKET实现TCP(或者UDP)通信。 (相反,TCP或者UDP通信也可以不使用SOCKET实现)

    一、TCP协议(传输层)

    二、UDP协议(传输层)

    三、Http协议(应用层)

          a)关于端口

             Server端:强制使用的标准端口 80;还可绑定更多其它端口,eg:8000、8080等

             Client端:既可以使用固定的80端口,也可以任意指定

             说明:1024以内的端口号已经分配给标准服务,而且是强制性

                      1024以上的端口,可任意指定(部分也有习惯性含义,但不强制,eg:8080分配给http协议)

           b)应用程序和端口号之间的关系     

               一对多  

              一个应用程序可以绑定多个端口号,但是每个端口号只能属于一个应用程序;

              端口号一旦与某个应用程序绑定,则表示:所有连接到本端口的包都交个绑定的应用程序处理

          c)多个客户端连接的情况

               每进来一个客户端就产生一个新的套接字,每个套接字代表一个客户端的连接,它们都使用80端口

         d)浏览器通过http协议访问页面的流程

               1) 浏览器向DNS请求到域名对应的IP

               2) 通过IP+80端口,浏览器与服务器建立TCP连接

               3)浏览器发出http请求报文(eg: GET /chn/yxsz/index.htm)

               4)服务器发回http响应报文(eg: index.htm文件)

               5)释放TCP连接

               注:由上可知,http实际上是将TCP作为其传输层协议

    四、FTP协议(应用层)

  • 相关阅读:
    [原创]Office Word 2010如何使用printer drivers输出PostScript文件
    MATLAB启动时报错: pathdef.m not found 问题解决方法
    Ubuntu 下 Matlab R2010a 错误:`GLIBCXX_3.4.11' not found 的解决办法
    [转] 一阶导和二阶导的含义
    win7 搭建ftp 设置用户权限 远程访问设置
    Ubuntu 中软件的安装、卸载以及查看的方法总结
    64位ubuntu12.04 LTS安装oracle10g笔记
    如何在Ubuntu 12.04 LTS中使用低版本gcc/g++
    HTTP与HttpServlet
    EXP00091错误
  • 原文地址:https://www.cnblogs.com/edisonfeng/p/2125644.html
Copyright © 2020-2023  润新知