SOCK_STREAM与SOCK_DGRAM套接口类型
SOCK_STREAM套接口(流套接口)的性质
1、不保留任何消息的边界
举一个例子:本地主机通过两次独立的write(2)调用向远程主机发送数据,第一次本地进程写入25字节的数据,并通过套接口发送到远程进程,第二次再写入30字节的数据发往远程进程,总共55字节的数据,而远程进程从套接口接收数据时,将消息作为一个完整的单元来接收,或是通过若干次独立的读操作来将数据取走,即接受端并不知道这55字节的数据是分25字节和30字节两次来发送的。
2、有序性 可以保证接受的数据字节与发送是顺序完全一致(意味着通信之前必须建立一个连接)
3、无错性 可以保证接受的数据在接收端被无错的接受。如果有错误发生,在尝试完所有的错误恢复措施后仍无法消除错误,流套接口就会报告错误。所进行的错误恢复措施尝试是完全自动的,不需编程者的指导。
SOCK_DGRAM套接口
特征:
1、分组在发送后,可能无序地到达接收端
2、分组可能丢失。如果发生丢失,不会采取任何补救的措施,而且接受端也不必知道有分租丢失。
3、数据报分组有尺寸大小的限制,如果超出限制,在某些路由器和节点上就无法传送。
4、分组是在不建立连接的情况下被发送到远程进程的。
SOCK_STREAM与SOCK_DGRAM套接口类型相关推荐
- 【python】SOCK_STREAM和SOCK_DGRAM两种类型的区别【转】
sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送. sock_dgram 是无保障的面向消息的socket , 主要用于在网络上发广播信 ...
- SOCK_STREAM和SOCK_DGRAM两种类型的区别
SOCK_STREAM 数据流 一般是tcp/ip协议的编程 有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送 SOCK_DGRAM 数据包 udp协议网络编程 ...
- Linux Socket学习--套接口的类型和协议
我们首先来说一下PF_INET和AF_INET,虽然标准提倡在指定demain参数的时候,优先使用PF_INET,但是大量已经编写的c代码遵循旧的协议.目前情况是AF_UNIX=PF_UNIX,AF_ ...
- 套接口学习(一)实现
套接口这个概念最先由4.2BSD(1983)引入.如今已经成为一个通用的网络应用程序编程接口.受到全部操作系统的支持.套接口层位于应用程序和 协议栈之间,相应用程序屏蔽了与协议相关实现的详细细节. 通 ...
- setsockopt设置套接口选项
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET , ...
- socket 中 SOCK_STREAM 和 SOCK_DGRAM的区别?
sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送. sock_dgram 是无保障的面向消息的socket , 主要用于在网络上发广播信 ...
- SOCK_DGRAM(数据报套接字)与SOCK_STREAM(流套接口)的区别
一.SOCK_DGRAM (数据报套接字)特性: 1.分组在发送后,可能无序地到达接收端 2.分组可能丢失.如果发生丢失,不会采取任何补救的措施,而且接受端也不必知道有分租丢失. 3.数据报分组有尺寸 ...
- 网络编程学习笔记(基本套接口选项)
SO_BROADCAST套接口选项: 此选项使能或禁止进程发送广播消息的能力.只有数据报套接口支持广播,并且还必须是在支持广播消息的网络上(例如以太网.令牌网).不能在一个点对点链路上进行广播. SO ...
- UNP Chapter 25 - 原始套接口
25.1. 概述 原始套接口提供以下三种TCP及UDP套接口一般不提供的功能. 1. 使用原始套接口可以读写ICMPv4,IGMPv4,ICMPv6分组.例如:Ping程序,就使用原始套接口发送ICM ...
- linux的套接口和管道
创建管道的函数: #include <unistd.h> int pipe(int pipefd[2]); pipefd[0]代表管道读出端的文件描述符,pipefd[1]代表管道写入端的 ...
最新文章
- 跟我学算法聚类(kmeans)
- RecycleView 缓存原理解析
- linux同时链接多个库,通过Shell脚本同时监控多个数据库负载
- Matlab练习:timer(定时器3)
- 一些DIV+CSS 命名规范
- 基于决策树的多分类_R中基于决策树的糖尿病分类—一个零博客
- bzoj4820[SDOI2017]硬币游戏
- 在 Linux 上配置一个 syslog 服务器
- java中的状态机模式_Java 有限状态机 (设计模式——状态模式)
- 9、Android---UI---Material Design
- mpvue 使用wxParse解析html
- 用matlab2012制作机器人,利用matlab建立简单的机器人模型的步骤
- 反超苹果,微软重回全球市值第一!
- IBM“移动优先”官网正式上线:苹果静候佳音
- LeetCode1456——定长子串中元音的最大数目
- 描写油菜花的好句好段
- 亚马逊运营推热新品的一些技巧分享值得卖家们收藏!
- MaterialDesign美化控件
- 深入了解区块链的漏洞之1:介绍篇
- 51单片机定时时间的计算
热门文章
- 9种 『MySQL数据库』优化的正确姿势
- [Keras深度学习浅尝]实战四· Embedding实现 IMDB数据集影评文本分类
- 论文阅读 | Region Proposal by Guided Anchoring
- Gentoo 教程:编译器选择
- 林达华推荐的数学知识
- 深入理解Java虚拟机读书笔记之垃圾收集器与内存分配策略
- Prometheus最佳实践 Summary和Histogram
- 服务器限制网页只能跳转过来,限制网页只能在微信打开
- 哥德巴赫猜想python
- 第六章第九题(英尺和米之间的转换)(Conversions between feet and meters)