流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较
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) 的比较相关推荐
- 【网络编程】Socket套接字;UDP数据报套接字编程;TCP流套接字编程
文章目录 1. 什么是网络编程 2. 网络编程中的基本概念 3. Socket套接字 4 UDP数据报套接字编程 4.1 客户端服务器交互流程 4.2 UDP版本的回显服务 4.3 英译汉服务 5. ...
- socket编程——upd(数据报套接字)
ip地址 用来标记网络上的一台电脑 如何查看电脑的IP地址? 分Windows和Linux系统 Windows是ipconfig Linux是ifconfig IP地址的分类 按版本分类 Ipv4: ...
- socket:数据报套接字
数据报套接字 一.什么是数据报套接字 二.基于流套接字的客户/服务器的工作流程 1.服务器 2.客户端 三.套接字接口 1.recvfrom()系统调用 2.sendto()系统调用 四.示例 一.什 ...
- CSS的三大布局方式(流式布局,浮动布局和层布局)
文章目录 前言 一.标准文档流 二.三种布局方式 1.流式布局 2.浮动布局 (1)字围效果 (2)圣杯布局 3.层布局 定位的分类: (1) 相对定位 position:relative (2) 绝 ...
- SOCK_DGRAM(数据报套接字)与SOCK_STREAM(流套接口)的区别
一.SOCK_DGRAM (数据报套接字)特性: 1.分组在发送后,可能无序地到达接收端 2.分组可能丢失.如果发生丢失,不会采取任何补救的措施,而且接受端也不必知道有分租丢失. 3.数据报分组有尺寸 ...
- TCP流式套接字的异步事件WSAAsyncSelect编程
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! WSAA ...
- 创建一个TCP流式套接字
#python网络套接字模块 from socket import *HOST = '172.60.50.218' PORT = 8888 ADDR = (HOST,PORT) BUFFERSIZE ...
- 【计算机网络】--- 流式套接字通信
流式套接字通信 引言 TCP协议的传输特点(面试官常考点) TCP的首部 TCP首部个字段的含义如下(大致掌握) TCP连接的建立和终止(面试官必考) "三次握手".如下图所示 注 ...
- 网络编程【UDP数据报套接字编程】
目录 1.网络编程基础 1.1 为什么需要网络编程? 1.2 什么是网络编程 1.3 网络编程中的基本概念 2.Socket套接字 2.1 分类 3.UDP数据报套接字编程 3.1 DatagramS ...
最新文章
- Mirantis 收购 Docker EE | 云原生生态周报 Vol. 28
- QT的QOpenGLFunctions类的使用
- boost.asio系列——io_service
- tomcat 启动项目 页面文字乱码_项目通过tomcat部署到服务器,请求数据页面中文乱码问题...
- pycharm下打开、执行并调试scrapy爬虫程序
- Codevs 1043 方格取数
- 面试官:分布式环境下,如何实现session共享
- win10 uwp 如何判断一个对象被移除
- 深度 | Google Brain研究工程师:为什么随机性对于深度学习如此重要?
- 没有计算机基础可以学python-要学 Python 需要怎样的基础?
- 在Linux上显示某个进程的线程的几种方式
- MAC电脑新手入门指南
- 上海臻图信息3DGIS+BIM技术助力智慧城市地下综合管廊建设
- Tensorflow Serving部署模型
- excel启动时显示“操作系统当前的配置不能运行此应用程序”
- scala学习之旅(十三):隐式转换和隐式参数
- Simulink/Carsim联合仿真,基于pid,mpc自适应巡航控制,定速巡航,紧急避撞等
- 15秒,找到行业内最专业的内容,你想要吗
- 基于PLUS模型+InVEST模型 生态系统服务多情景模拟预测
- 学习笔记:B样条曲线法