【python】SOCK_STREAM和SOCK_DGRAM两种类型的区别【转】

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

原文链接:https://blog.csdn.net/qq_21792169/article/details/50160327

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript将字符串中的每一个单词的第一个字母变为大写其余均为小写

要求: 确保字符串的每个单词首字母都大写,其余部分小写。 这里我自己写了两种方法,或者说是一种方法,另一个是该方法的变种。 第一种: function titleCase(str) {var newarr,newarr1[]; newarr str . toLowerCase() .…

聊天机器人的分类及综述

文章目录[toc] 目录前言:1、技术方向2、chatbot的知识框架3、应用的分类4、chatbot的几个challenges5、工业应用综述总结:目录 前言: 最近由于工作需要,要开发一款智能客服,目前正在搞业务咨询模块的功能&#xff0c…

【python】数据结构和算法 + 浅谈单链表与双链表的区别

有这么一句话说“程序数据结构算法”,也有人说“如果把编程比作做菜,那么数据结构就好比食材(菜),算法就好比厨艺(做菜的技巧)”。 当然这是笼统的说法,不过也稍微懂得了数据结构和…

Ironic 安装和配置详解

转自:http://amar266.blogspot.com/2014/12/ironic-installation-and-configuration.html 1.Install Openstack With Neutron 2.Create and delete vm to test the setup 3.Configure existing setup for ironic 3.1.Configure ironic user in keystone # keystone …

webpack使用优化(基本篇)

转自:https://github.com/lcxfs1991/blog/issues/2 前言 本文不是webpack入门文章,如果对webpack还不了解,请前往题叶的Webpack入门,或者阮老师的Webpack-Demos。 为什么要使用Webpack 与react一类模块化开发的框架搭配着用比较好…

word2vec中单词向词向量的转换过程详解

目录前言:1、Word2Vec两种模型的大致印象2、CBOW模型流程举例3、CBOW模型流程举例总结: 目录 前言: 针对word2vec是如何得到词向量的?这篇文章肯定能解决你的疑惑。该篇文章主要参考知乎某大神的回答,个人在此基础上…

Python把函数作为参数传入的高阶编程方法

map:接受两个参数(函数,Iterable),map将传入的函数依次作用于Iterable的每个元素,并且返回新的Iterable def f(x):return x*x r map(f,[1,2,3,4]) #此时的r为惰性求值——可用next()和for...in取值 #通过list()返…

《编程珠玑(第2版•修订版)》—第2章2.2节无处不在的二分搜索

本节书摘来自异步社区《编程珠玑(第2版•修订版)》一书中的第2章2.2节无处不在的二分搜索,作者【美】Jon Bentley,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.2 无处不在的二分搜索我想到的一个数在1到100之间&…

JavaScript学习笔记(四)——jQuery插件开发与发布

jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用,在jQuery官网有许多插…

AIML元素详细说明

目录前言:1、简介2、详细说明总结: 目录 前言: 智能客服客户咨询功能的实现主要依靠的就是Python的AIML库,这里就先介绍下AIML。 详细的使用教程可参考:https://github.com/andelf/PyAIML 目前大部分AIML只支持Py…

【解决】如何打开.ipynb文件

最近碰到文件名后缀为.ipynb文件,起初没太在意这种文件格式,用Notepad打开之后看到也是类似于JSON格式的信息,以为也是为其他的一些文件服务的(类似于配置一些HTML文件的配置文件)。但是后来才发现这也是一种文本表示形…

《树莓派学习指南(基于Linux)》——1.4 将Raspbian烧录到SD卡

本节书摘来异步社区《树莓派学习指南(基于Linux)》一书中的第1章,第1.4节,作者:【英】Peter Membrey ,【澳】David Hows ,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.4 将Raspbian烧录到SD卡 …

python单向链表和双向链表的图示代码说明

图示说明: 单向链表: insert、 remove、 update、pop方法 class Node:def __init__(self, data):self.data dataself.next Nonedef __str__(self):return str(self.data)# 通过单链表构建一个list的结构: 添加 删除 插入 查找 获取长…

不使用Ajax,如何实现表单提交不刷新页面

不使用Ajax&#xff0c;如何实现表单提交不刷新页面&#xff1f; 目前&#xff0c;我想到的是使用<iframe>&#xff0c;如果有其他的方式&#xff0c;后续再补。举个栗子&#xff1a; 在表单上传文件的时候必须设置enctype"multipart/form-data"表示表单既有文…

AIML知识库数据匹配原理解析

目录&#xff1a;前言&#xff1a;1、AIML系统工作流程2、AIML的核心推理机制3、推理举例4、匹配规则及实践中遇到的一些问题的解释总结&#xff1a; 目录&#xff1a; 前言&#xff1a; 参考&#xff1a;《Alice机理分析与应用研究》 关于AIML库这里就不介绍了&#xff0c…

【Python】模拟面试技术面试题答

一、 python语法 1. 请说一下你对迭代器和生成器的区别&#xff1f; 2. 什么是线程安全&#xff1f; 3. 你所遵循的代码规范是什么&#xff1f;请举例说明其要求&#xff1f; 4. Python中怎么简单的实现列表去重&#xff1f; 5. python 中 yield 的用法…

ROS机器人程序设计(原书第2版)2.3 理解ROS开源社区级

2.3 理解ROS开源社区级 ROS开源社区级的概念主要是ROS资源&#xff0c;其能够通过独立的网络社区分享软件和知识。这些资源包括&#xff1a; 发行版&#xff08;Distribution&#xff09; ROS发行版是可以独立安装、带有版本号的一系列综合功能包。ROS发行版像Linux发行版一样…

Win7 U盘安装Ubuntu16.04 双系统

Win7系统下安装Ubuntu系统&#xff0c;主要分为三步&#xff1a; 第1步&#xff1a;制作U盘启动盘 第2步&#xff1a;安装Ubuntu系统 第3步&#xff1a;创建启动系统引导 第1步&#xff1a;制作U盘启动盘 1.下载Ubuntu16.04安装镜像&#xff0c;官网地址&#xff1a;http://www…

Word2VecDoc2Vec总结

转自&#xff1a;http://www.cnblogs.com/maybe2030/p/5427148.html 目录&#xff1a;1、词向量2、Distributed representation词向量表示3、word2vec算法思想4、doc2vec算法思想5、Doc2Vec主要参数详解总结&#xff1a; 目录&#xff1a; 1、词向量 自然语言理解的问题要转…

ubantu安装pycharm破解+Linux基础简介

一、课程简介 linux服务器配置及常用命令 Ubuntu centos 开发软件配置及服务环境的搭建 软件的安装和配置 mysql数据库使用、monDB使用、redius的使用 git的使用 html/css 课程学习方式 表达训练 学习方法&#xff1a; linux学习基本上都是命令和配置 命令要多敲多记 …