zoukankan      html  css  js  c++  java
  • Python Web学习笔记之SOCK_STREAM和SOCK_DGRAM

    SOCK_STREAM

    1. 数据流
    2. 一般是tcp/ip协议的编程
    3. 有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送

    SOCK_DGRAM

    1. 数据包
    2. udp协议网络编程
    3. 是无保障的面向消息的socket , 主要用于在网络上发广播信息。

    关于UDP

    1. UDP协议适用端口分别运行在同一台设备上的多个应用程序,UDP不提供数据报分组、组装和不能对数据包进行排序的缺点。也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
    2. 在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。
    3. 由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频视频普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。

    关于TCP

    1. 面向连接的传输;
    2. 端到端的通信;
    3. 高可靠性,确保传输数据的正确性,不出现丢失或乱序;
    4. 全双工方式传输;
    5. 采用字节流方式,即以字节为

    SOCK_STREAM

    是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。

    SOCK_DGRAM

    是无保障的面向消息的socket,主要用于在网络上发广播信息。


    SOCK_STREAM是基于TCP的,数据传输比较有保障

    SOCK_STREAM 是数据流,一般是tcp/ip协议的编程

    SOCK_DGRAM分是数据抱,是udp协议网络编程

    SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播


    新套接口的类型描述类型,如TCP(SOCK_STREAM)和UDP(SOCK_DGRAM)。

    常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等。

    指定协议。套接口所用的协议。如调用者不想指定,可用0。

    常用的协议有,IPPROTO_TCP、IPPROTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等

    它们分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。

    SOCK_STREAM 提供有序的、可靠的、双向的和基于连接的字节流,使用带外数据传送机制,为Internet地址族使用TCP。

    SOCK_DGRAM 支持无连接的、不可靠的和使用固定大小(通常很小)缓冲区的数据报服务,为Internet地址族使用UDP。

    SOCK_STREAM类型的套接口为全双向的字节流。

    对于流类套接口,在接收或发送数据前必需处于已连接状态。

    用connect()调用建立与另一套接口的连接

    连接成功后,即可用send()和recv()传送数据。当会话结束后,调用closesocket()。

    带外数据根据规定用send()和recv()来接收。

    实现SOCK_STREAM类型套接口的通讯协议保证数据不会丢失也不会重复。

    如果终端协议有缓冲区空间,且数据不能在一定时间成功发送,则认为连接中断,其后续的调用也将以WSAETIMEOUT错误返回。

    SOCK_DGRAM类型套接口允许使用sendto()和recvfrom()从任意端口发送或接收数据报。

    如果这样一个套接口用connect()与一个指定端口连接,则可用send()和recv()与该端口进行数据报的发送与接收。

    参考1

    参考2

  • 相关阅读:
    【C语言入门教程】2.3 整型数据
    【C语言入门教程】2.1 数据类型(5种基本数据类型),聚合类型与修饰符
    【C语言入门教程】2.2 常量 与 变量
    【C语言入门教程】1.3 C语言“32个”关键字
    【C语言入门教程】1.2 函数库 和 链接
    【C语言入门教程】1.1 基本程序结构
    【C语言入门教程】目录/大纲
    【C语言】 Linux下编译提示pow未定义引用
    Linux C 收藏
    Ubuntu 14 常用“快捷键”,Ctrl + Alt + F1 进入终端,按 Ctrl + Alt + F7 回到界面
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/8919664.html
Copyright © 2011-2022 走看看