zoukankan      html  css  js  c++  java
  • 比较 http连接 vs socket连接


    http连接 :短连接,客户端,服务器三次握手建立连接,服务器响应返回信息,连接关闭,一次性的
    socket连接:长连接,客户端,服务器三次握手建立连接不中断(通过ip地址端口号定位进程)
    及时通讯,客户端 客户端之间经过 服务器中转的(漫游)

    ----------------------------------

    七层网络协议

    OSI参考模式 TCP、IP参考模式
    ___________________________________

    应用层
    表示层 应用层
    会话层
    ___________________________________
    传输层 传输层
    ___________________________________
    网络层 网际层
    ___________________________________
    数据链路层
    物理层 主机至网络层
    ___________________________________


    网络请求三要素:

    1: 网络:IP地址
    每个电脑都有个IP地址 htp:192.168.3.2
    访问谷歌服务器也一样,一个电脑,一个IP地址。

    2: 端口号:用于标示进程的逻辑地址

    电脑上的qq 端口号4000

    3:传输协议
    通讯的规则
    常见协议:TCP,UDP,http
    -------------------------------------------------------
    4 服务器:就是个电脑,里面装了很多资源文件,用用户使用特定的 协议端口来访问的

    4.1 例如我们拷教师机上的视频:使用

    htp://192.168.3.251:21
    解释 htp:协议名称,IP地址:192.168.3.251, 端口号:21

    4.2 网络访问
    http://ip:80/文件路径=>URL(统一资源定位)
    解释 http:协议名称, ip:IP地址,80:端口号 文件路径:访问什么内容

    5.1 资源类型是通过MimeType来区分的,告诉客户端是什么类型 的资源

    例如:浏览器通过域名(ip地址)访问网络服务器,服务器返回了一个,视频、文本,图片....,浏览器通过MimeType来去分文件,用什么工具打开

    5 网络访问解析

    URL:确定要访问的资源
    Request:要访问了
    Connection:开始访问
    。。。。。。
    服务器返回结果

    TCP &UDP (都是在传输层的 )

    UDP(用户数据报协议)

    - 将数据及数据源目的封装 到数据包中,不需要建立连接
    - 每个数据包的大小限制早64K之内
    - 因为无需连接,因此此协议为不可靠协议
    - 不需要建立连接,速度快

    有点像通过邮递员给你个目标地址,邮递东西,有大小限制
    应用:教师机给给每个学生机发送数据,拼成视频文件
    发送UDP协议的的文件,不建立连接,封装源地址,目标地址,每次发送一个不超过64k的小包,发过去,几个小包拼成一段视频!~

    TCP(传输控制协议)

    - 建立连接,形成传输数据的通道
    - 在连接中进行大数据传输
    - 通过三次握手完成连接,是可靠的协议,安全送达
    - 必须建立连接,效率会略低

    -----------------------------------------------------

    Socket(套接字层,插座)

    - Socket就是为网络服务提供的一种机制
    - 通信连段都是Socket
    - 网络通信其实就是Socket间的通信
    - 数据在两个Socket间通过的IO传输//Input/Output写入,读出

    1:socket(老刘解释):
    socket就是网络连接,通过scoket建立网络连接之后,我就可以执行两个点之间的通讯。

    2:socket之间是怎么通讯的?
    预备知识:
    端口是标示进程的。
    文件的读取方式:通过二进制流方式读取的,指定不同的文件,就可以输出不同的位置,所有的I/O,都是文件操作。

    当把CF框架中变量转化为,NS框架中变量时,需要在加上类型前面还要加个__bridge


    //Scoket的具体实现

    NS与CF互转需要桥接__bridge
    NSInputStream:输入流
    NSOutputStream:输出流

    设定方法发送请求包括IP地址,端口
    - ()
    CFReadStreamRef readStream;
    CFWriteStreamRef writeStream;

  • 相关阅读:
    Helvetic Coding Contest 2017 online mirror (teams allowed, unrated) J
    ROS_Kinetic_19 群机器人框架示例(micros swarm framework)
    ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续
    ROS_Kinetic_17 使用V-Rep3.3.1(vrep_ros_bridge)
    USB OTG原理+ ID 检测原理
    高通QSD MSM APQ区别
    qualcomm memory dump 抓取方法
    msm8974 camera driver添加新摄像头kernel hal修改
    现代控制理论-章节组织结构和仿真应用案例详细分析
    ROS_Kinetic_16 ubuntu中安装使用Matlab和ROS
  • 原文地址:https://www.cnblogs.com/ly1973/p/5338178.html
Copyright © 2011-2022 走看看