原文链接: http://blog.csdn.net/pinghegood/article/details/7841281  1.背景 最近在项目中,由于使用TD网络传输数据,数据掉包严重,软件组老大叫我来处理掉包问题.于是我就想起了在计算机网络中讲数据链路层协议时的“选择重传ARQ”协议(见<计算机网络>第四版 AndrewS.Tanenbaum的p187)来解决丢包问题.我不是一个好学生,所以具体细节忘了一些,遂找出那本书,把那一小节迅速浏览了一遍便想起了其具体工作流程.但是这个协议还不能…
ude是一款基于udp的可靠传输协议,专门用于在数据传输方面对实时性要求较高的应用领域.    tcp协议虽然能保证数据的可靠传输,但它有以下几个缺点:1.tcp的数据确认机制会导致发送方重复发送一些已经被对方接收的数据,降低了带宽的有效利用率:2.tcp协议的超时重传机制严格遵守rtt公平性,即到了rtt时间才会重传丢失的数据,当rtt较大时,就会导致数据的实时性降低,这对于一些对实时性要求较高的应用(比如流媒体应用)是不能忍受的,并且这一特点会导致带宽得不到充分利用:3.在p2p传输领域,由…
SMTP 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地.通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟.SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子…
用一句简单的话总结:RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没有看到相关的部分.而在私有RTSP的代码中,有关控制.同步等,是在RTP Header中做扩展定义实现的.另外,RFC3550可以看作是RFC1889的升级文档,只看RFC3550即可. RTP:实时传输协议(Real-time Transport Protocol) RTP/RTCP是实际传输数…
常用的流媒体协议主要有HTTP渐进下载和基于RTSP/RTP的实时流媒体协议两类.在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时多媒体数据. 1 实时传输协议RTP与RTCP RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议.RTP由两个紧密链接部分组成:RTP----传送具有实时属性的数据:RTP控制协议(RTCP)----监控服务质量并传送正在进行的会话参与者的相关信息. R…
第33章      SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 33.1  初学者重要提示 33.2  SMTP基础知识参考资料 33.3  SMTP基础知识点 33.4  总结 33.1  初学者重要提示 SMTP简单邮件传输协议在实际项目中有一些实用价值,需要初学者对SMTP的基础知识也有个认识. 33.2  SMTP基础知识参考…
FastSocket这个东西上次我已经说过,它使用简单,功能强大,扩展灵活,目前在新浪的生产环境中已经被广泛使用,所以它的性能,安全等各方面我们绝对可以信赖,今天我们来说一个话题,和上一讲有关,这次我们制作一个基于FastSocket的传输协议,它的意义重大,当fastSocket提供的协议不能满足项目要求时,我们就必须硬着头皮去自己写了,还好,fastsocket为我们铺好了路,我们只要按着这条路走下去,就可以了. 自定义的协议格式如下…
第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供上传,下载和删除文件,创建和删除目录,读取目录内容的功能.虽然FTP是非常受欢迎的,它有一些缺点,使其更难使用.主要的缺点是缺乏目录列表的统一格式(这个问题已经通过引入MLST命令部分解决,但是一些服务器不支持)和辅助连接(DATA连接)的存在.FTP中的安全性通过对RFC 2228中定义的信道加密采用SSL / TLS协议来提供.FTP的安全版本称为FTPS. 在UNIX系统中,…
欢迎阅读我的开源项目<迷你微信>服务器)与<迷你微信>客户端 前言 在上一篇中,我们讲到了<迷你微信>服务器)的主体架构,还讲到了如何在现有功能上进行拓展,但是拓展的其中一个关键点,就是如何区分客户端的请求类型(如:登陆?注册?)?我们将通过对传输协议的制定标志位进行检测来确定客户端的请求类型,在本项目中,我们使用Protobuf来定义传输协议而已,若是您对于Protobuf还不甚了解,可以先学习下[迷你微信]基于MINA.Hibernatye.Spring.Proto…
androidclient一般不直接訪问站点数据库,而是像浏览器一样发送get或者post请求.然后站点返回client能理解的数据格式,client解析这些数据.显示在界面上.经常使用的数据格式是xml和json. 能够理解client事实上是一个你自定义标记语言的浏览器,一般浏览器能解析的是html+css的数据,而androidclient能解析的是xml和json(或者都不是而是你自定义的火星格式),服务端为了能满足client输出这样的数据格式的需求,不得不专门针对client开发不同…