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

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

SOCK_STREAM是基于TCP的,数据传输比较有保障。SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播

SOCK_STREAM 是数据流,一般是tcp/ip协议的编程,SOCK_DGRAM分是数据包,是udp协议网络编程

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

关于TCP
1、TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。
2、TCP特性:
(1)面向连接的传输;   
(2)端到端的通信;   
(3)高可靠性,确保传输数据的正确性,不出现丢失或乱序;   
(4)全双工方式传输;   
(5)采用字节流方式,即以字节为单位传输字节序列;   
(6)紧急数据传送功能。

如果需要传输的数据是准确的,建议采用TCP,也就是SOCK_STREAM 
如果你传输的是视频音频等数据,丢几个包也无所谓的,可以采用UDP,也就是SOCK_DGRAM

关于Socket类型中SOCK_STREAM和SOCK_DGRAM区别相关推荐

  1. 关于Socket通信中SOCK_STREAM和SOCK_DGRAM区别

    SOCK_STREAM   是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送. SOCK_DGRAM   是无保障的面向消息的socket , 主要用于在网络上 ...

  2. socket 中 SOCK_STREAM 和 SOCK_DGRAM的区别?

    sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送. sock_dgram 是无保障的面向消息的socket , 主要用于在网络上发广播信 ...

  3. TCP与UDP在socket编程中的区别

    TCP与UDP在socket编程中的区别 一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可 ...

  4. Java中,一切皆是对象——java中的对象类型与基本数据类型的区别

    起因:取一个list给另一个list赋值,然后在另一个list中取出进行修改.list其中类型为对象时,String时,基本数据类型时. [java中的对象类型与基本数据类型的区别] #声明和实例化 ...

  5. python中动态语言静态语言的定义_作为程序开发,你所需要知道的编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的概念以及区别...

    作为程序开发,你所需要知道的编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言的概念以及区别! 在各式各样的开发过程当中,我相信各位开发小伙伴在开发过程中并没有太关注什么是解释性语言和编译性语 ...

  6. 网络编程基础socket 重要中:TCP/UDP/七层协议

    计算机网络的发展及基础网络概念 问题:网络到底是什么?计算机之间是如何通信的? 早期 : 联机 以太网 : 局域网与交换机 广播 主机之间"一对所有"的通讯模式,网络对其中每一台主 ...

  7. Socket编程中具体接口的用法

    Socket的函数很多,Windows中头文件是Winsock2.h,下面介绍经常使用的几个. 一.Socket()接口 SOCKETWSAAPI socket(_In_ int af,_In_ in ...

  8. IP地址的三种表示格式及在Socket编程中的应用

    转自:http://blog.csdn.net/hguisu/article/details/7449955 使用TCP/IP协议进行网络应用开发的朋友首先要面对的就是对IP地址信息的处理.IP地址其 ...

  9. Socket编程中的强制关闭与优雅关闭及相关socket选项

    以下描述主要是针对windows平台下的TCP socket而言. 首先需要区分一下关闭socket和关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包( ...

最新文章

  1. Android Service
  2. python现在第几版-2020 年10月编程语言排行榜,Python 排名逼近第二
  3. java 内部类 加载_举例讲解Java的内部类与类的加载器
  4. PicGo github配置
  5. 【计算机网络】聊一聊那些常见的网络通信的性能指标
  6. 实用crontab命令
  7. JAVA中randomfile_java中的RandomAccessFile的用法
  8. 月薪 100K?还不来看看区块链学习清单?字字都是 Money!
  9. MyBaties入门
  10. 公众号内打开提示404_200元500元/篇 | 她家小酒馆儿公众号征稿!(三天内审核、有额外稿费)...
  11. java mschart_vb之mschart控件小结
  12. Linux C 信号量
  13. 一键关闭win10防火墙拦截更新等小工具
  14. 一次 ASAN 找不到 symbolizer 问题的分析与解决
  15. 毛[文强]老师的一堂前端课程
  16. 软件测试入门随笔——软件测试基础知识(七)
  17. 审批流程 html,审批流程(标准)处理中.html
  18. 【短信】谷歌4.4短信代码学习
  19. 【Qt】 Fractal Designer 5.1 - Help(中文版)
  20. ArcObjects

热门文章

  1. 布丁怪兽-csdn博客_证明在评论中-不是布丁
  2. 【热门主题:麦蒂xp主题】
  3. w3cshool之JavaScript 基础
  4. 【报告分享】新锐快消品出圈营销分析报告-云锐集团(附下载)
  5. Pinterest营销|Pinterest广告定位完整指南
  6. 【jQuery插件】用jQuery Masonry快速构建一个pinterest网站布局
  7. 太平洋直购传销被查处
  8. i3 10100性能参数 i310100怎么样
  9. wap2app ios首页侧滑关闭页面出现空白 解决方法
  10. 图记 2016.1.4