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. java tcp read_【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)(转)...

    书上示例 在第一章<基本套接字>中,作者给出了一个TCP Socket通信的例子--反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去. 书上客户端代码如下: 书上的服务器 ...

  4. 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)(转)...

    书上示例 在第一章<基本套接字>中,作者给出了一个TCP Socket通信的例子--反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去. 书上客户端代码如下: 1 2 3 ...

  5. java socket 二次发送_发过2次帖子,都没有了,再发。JAVA中SOCKET通信中的数据压缩问题...

    通信中要发大批量数据,发送前想进行压缩,发送完一段数据后要进行验证,然后才能继续发.我使用GZipInputStream和GZipOutputStream进行处理,但发送完一段数据后,调用zipout ...

  6. Socket 通信中read方法阻塞接收的问题

    客户端: public class Client {public static void main(String[] args) throws IOException {// 与服务器建立连接Sock ...

  7. 线程通信中wait和sleep区别

    notify并不释放锁 wait是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,并且不参与锁对象的竞争,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法(n ...

  8. SOCKET通信中TCP数据包大小的确定

    MSS(maximun segment size)         最大分段大小,TCP有一个最大分段大小,用于通告对端每个分段中能发送的最大TCP数据量.MSS的目的是告诉对端其重组缓冲区大小的实际 ...

  9. socket通信中的几个重要结构体定义

    struct sockaddr {unsigned short sa_family;//地址类型, AF xxx char sa_data[14]; //14字节的端口和地址 };struct soc ...

最新文章

  1. wireshark-wincap安装问题
  2. hdu 1026 Ignatius and the Princess I(优先队列+bfs+记录路径)
  3. XAML Workflow Schema
  4. 新兴的多媒体格式——MXF 文件格式分析 和简介
  5. 微软职位内部推荐-Principal Group Program Manager
  6. 开始位置 环状图_水星轨道发现千万公里环状结构,或将发现新的行星环
  7. LFFD 再升级!新增行人和人头检测模型,还有了优化的C++实现
  8. 微信小程序中的json格式文件
  9. Linux系统-Ubuntu的下载和安装
  10. Microsoft Lync2013客户端下载
  11. 怎么测试佩戴适合眼镜软件,如何在网上选择到适合自己的眼镜框?
  12. android 好友功能,ListView模拟微信好友功能
  13. OSG KML文件解析
  14. python循环读取excel存入列表_python3 循环读取excel文件并写入json操作
  15. ipoo3可以用鸿蒙,真正全网通!iQOO 3支持双模六频5G,出国也能用
  16. 禁用Chrome跟随系统的DPI缩放
  17. K8S高可用集群架构部署 dashborad插件部署 Nginx实现动静分离 K8S在线升级
  18. 2019春第十二周 编程总结
  19. MFC Group Box 组合框的简单使用 笔记
  20. C# 使用Vlc播放视频或者监控

热门文章

  1. 【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
  2. 双工位视觉点胶机原理——维度自动化
  3. pytorch版本对应
  4. 2007年国庆骑行青岛归来
  5. Swift5 1.基础介绍
  6. 绿之韵背后不得不说的故事
  7. Typora(使用教程)
  8. 基于物理的渲染技术(PBR)系列三
  9. 母亲节,献给母亲的沙画(太感人了!)
  10. android8.1字体,Android 8.1换上全新字体 阅读起来会更舒爽