1.流式套接字

使用这种套接字时,数据在客户端是顺序发送的,并且到达的顺序是一致的。比如你在客户端先发送1,再发送2,那么在服务器端的接收顺序是先接收到1,再接收到2,流式套接字是可靠的,是面向连接的;

2.数据报套接字

这种套接字是无连接的,数据是打包成数据包发送的,到达的顺序不一定与发送的顺序是一致的,并且数据不一定是可达的,并且接收到的数据还可能出错。

既然这样那为什么还要使用这种套接字呢?因为现每个使用udp的程序都有自己的对数据进行确认的协议。如TFTP协议规定了每收到一个消息比如, TFTP 协议定义了对于每一个发送出去的数据包,远程在接受到之后都要回送一个数据包告诉本地程序:    “我已经拿到了!(一  ”个 “ACK” 包)    。如果数据包发的送者在 5 秒内没有的得到回应,它就会重新发送这个数据包直到数据包接受者回送了 “ACK” 信号。这些知识对编写一个使用 UDP 协议的程序员来说是非常必要的。

转载于:https://www.cnblogs.com/givemelove/p/9481123.html

流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较相关推荐

  1. 【网络编程】Socket套接字;UDP数据报套接字编程;TCP流套接字编程

    文章目录 1. 什么是网络编程 2. 网络编程中的基本概念 3. Socket套接字 4 UDP数据报套接字编程 4.1 客户端服务器交互流程 4.2 UDP版本的回显服务 4.3 英译汉服务 5. ...

  2. socket编程——upd(数据报套接字)

    ip地址 用来标记网络上的一台电脑 如何查看电脑的IP地址? 分Windows和Linux系统 Windows是ipconfig Linux是ifconfig IP地址的分类 按版本分类 Ipv4: ...

  3. socket:数据报套接字

    数据报套接字 一.什么是数据报套接字 二.基于流套接字的客户/服务器的工作流程 1.服务器 2.客户端 三.套接字接口 1.recvfrom()系统调用 2.sendto()系统调用 四.示例 一.什 ...

  4. CSS的三大布局方式(流式布局,浮动布局和层布局)

    文章目录 前言 一.标准文档流 二.三种布局方式 1.流式布局 2.浮动布局 (1)字围效果 (2)圣杯布局 3.层布局 定位的分类: (1) 相对定位 position:relative (2) 绝 ...

  5. SOCK_DGRAM(数据报套接字)与SOCK_STREAM(流套接口)的区别

    一.SOCK_DGRAM (数据报套接字)特性: 1.分组在发送后,可能无序地到达接收端 2.分组可能丢失.如果发生丢失,不会采取任何补救的措施,而且接受端也不必知道有分租丢失. 3.数据报分组有尺寸 ...

  6. TCP流式套接字的异步事件WSAAsyncSelect编程

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! WSAA ...

  7. 创建一个TCP流式套接字

    #python网络套接字模块 from socket import *HOST = '172.60.50.218' PORT = 8888 ADDR = (HOST,PORT) BUFFERSIZE ...

  8. 【计算机网络】--- 流式套接字通信

    流式套接字通信 引言 TCP协议的传输特点(面试官常考点) TCP的首部 TCP首部个字段的含义如下(大致掌握) TCP连接的建立和终止(面试官必考) "三次握手".如下图所示 注 ...

  9. 网络编程【UDP数据报套接字编程】

    目录 1.网络编程基础 1.1 为什么需要网络编程? 1.2 什么是网络编程 1.3 网络编程中的基本概念 2.Socket套接字 2.1 分类 3.UDP数据报套接字编程 3.1 DatagramS ...

最新文章

  1. Mirantis 收购 Docker EE | 云原生生态周报 Vol. 28
  2. QT的QOpenGLFunctions类的使用
  3. boost.asio系列——io_service
  4. tomcat 启动项目 页面文字乱码_项目通过tomcat部署到服务器,请求数据页面中文乱码问题...
  5. pycharm下打开、执行并调试scrapy爬虫程序
  6. Codevs 1043 方格取数
  7. 面试官:分布式环境下,如何实现session共享
  8. win10 uwp 如何判断一个对象被移除
  9. 深度 | Google Brain研究工程师:为什么随机性对于深度学习如此重要?
  10. 没有计算机基础可以学python-要学 Python 需要怎样的基础?
  11. 在Linux上显示某个进程的线程的几种方式
  12. MAC电脑新手入门指南
  13. 上海臻图信息3DGIS+BIM技术助力智慧城市地下综合管廊建设
  14. Tensorflow Serving部署模型
  15. excel启动时显示“操作系统当前的配置不能运行此应用程序”
  16. scala学习之旅(十三):隐式转换和隐式参数
  17. Simulink/Carsim联合仿真,基于pid,mpc自适应巡航控制,定速巡航,紧急避撞等
  18. 15秒,找到行业内最专业的内容,你想要吗
  19. 基于PLUS模型+InVEST模型 生态系统服务多情景模拟预测
  20. 学习笔记:B样条曲线法

热门文章

  1. 干旱对数据中心的影响
  2. 《区块链开发指南》一一第1章 区块链基础
  3. Runloop循环机制
  4. web office apps 在线预览实践
  5. Gartner:2013-2014年全球MSS市场分析
  6. 当随机不够随机:一个在线扑克游戏的教训
  7. [转]大话企业级Android应用开发实战 音乐播放器的开发
  8. JVM调优:GC 参数
  9. 20080904--判断表单中的元素值是否改变了
  10. 方法区中的无用类回收