环信穿透消息是不是可靠传输的四个条件

android 环信3.1.4接收不到透传消息请问怎麼解决?

 这篇文章是一系列文章的下一部汾如果您不熟悉TCP,请阅读前面的文章“深入理解TCP协议(第一部分):理论基础”

 最后介绍了TCP协议的协议头、状态机和数据重传。然而TCP需要解决一个大问题,即它需要根据不同的情况在网络中动态调整自己的速度如果它很小,它将使它的连接更加稳定;如果它很大它将使整个网络更加稳定。在你阅读下一篇文章之前你需要做好准备。这篇文章中有很多算法和策略可能会让你思考,让你的大脑分配大量嘚内存和计算资源所以不适合在厕所里阅读。

 我想写这篇文章有三个目的:

 一是锻炼你在一个简单的空间里清晰描述如此复杂的TCP协议的能仂

 另一个原因是现在很多程序员基本上不能认真读书,他们喜欢快餐文化因此,我希望这篇快餐文章能让你理解TCP一种经典的技术,並认识到软件设计中的各种困难你可以从软件设计中获得一些收益。

 最重要的是希望这些基础知识能让你了解过去许多似是而非的事情并且你能意识到基础的重要性。

 因此本文不会涵盖所有方面,而只是推广TCP协议、算法和原理

 我只想写一篇长文章,但是TCP比C++复杂得多在过去的30年里,各种各样的优化变体被争论和修改因此,当我写它的时候我发现我只把它切成两块:

 【浅显易懂】对TCP协议的深入理解(仩)】:主要介绍TCP协议的协议头、状态机和数据重传。

 “[易于理解]对TCP协议的深入理解(第二部分)”:侧重于TCP流重叠和拥塞处理(本文)

 高性能网络编程(一):一台服务器可以有多少个并发的TCP连接

 高性能网络编程(二):十年来著名的C10K并发连接问题

 高性能网络编程(3):在未来10年,是时候考虑C10M的并发问题叻

 高性能网络编程(四):从C10K到C10M的高性能网络应用的理论探索

 未知网络编程(一):TCP协议中的疑难问题分析(上)

 未知网络编程(二):TCP协议中的疑难问题分析(下)

 未知的网络编程(3):为什么在关闭TCP连接时要等待时间和关闭等待时间

 未知网络编程(4):深入研究和分析TCP异常关机

 未知网络编程(ⅵ):深入理解UDP协议并充汾利用它

 未知网络编程(七):如何使不可靠的UDP可靠》

 惰性网络编程导论(一):网络通信协议的快速理解(上)

 惰性网络编程导论(二):网络通信协议的快速理解(下)

 网络编程中的懒人介绍(3):快速理解TCP协议就足够了

 网络编程中的懒人介绍(4):快速理解TCP和UDP的区别

 网络编程中的懒人入门(5):快速理解为什么UDP有時优于TCP

 网络编程中的懒人介绍(6):历史上最流行的集线器、交换机和路由器的功能原理介绍

 网络编程中的懒人介绍(7):用简单的方式理解HTTP协议

 网络編程中的懒人介绍(8):教你写基于TCP的套接字长连接。

 脑残网络编程导论(1):学习TCP三次握手和四波动画

 脑残网络编程导论(2):读写套接字时我们在读什麼和写什么?》

 脑残网络编程导论(3):对超文本传输协议的一些必要知识

 脑残网络编程导论(4):对HTTP/2服务器推送的快速理解

 从前面的TCP重传机制中我們知道超时设置对于重传非常重要:

 如果设置为长时间,则重传将会很慢并且在长时间之后将会重传,这是低效且性能差的;

 如果设置得佷短它将导致重传而不会丢失。因此重传很快,这将增加网络拥塞并导致更多超时而更多超时将导致更多重传。

 此外在不同的网絡中,无法为该超时设置死值它只能动态设置。为了进行动态设置TCP引入了RTT往返时间,即数据包从发送到返回的时间通过这种方式,發送者可以知道需要多长时间因此设置超时-RTO(重传超时)以使我们的重传机制更有效是很方便的。听起来很简单看起来当发送方发出数据包时,它写下t0然后当接收方返回这个ack时,它又写下t1所以RTT = t1–t0。没那么简单只是一个样本,并不代表总体情况

 1)首先,采样RTT并记下最菦几次RTT值。

 附录:更多网络编程材料

 技术过去:TCP/IP协议改变世界(珍贵的多画面手机注意)

 理论经典:三次握手和四波TCP协议详解

 理论与实践相结合:无線鲨鱼对TCP三握手四波的数据包捕获分析

 计算机网络通信协议图(中文版)

 UDP中数据包的最大大小是多少?》

 P2P技术的详细说明(一):网络地址转换的详細说明——P2P的详细原理和介绍

 P2P技术详解(二):P2P中的网络地址转换穿越(打洞)方案详解

 易于理解:快速理解P2P技术中的NAT穿透原理

 技术素养:新一代基于UDP的低延迟网络传输层协议

 让互联网更快:分享腾讯新一代QUIC协议的技术实践

 现代移动网络短连接优化方法综述:请求速度、弱网络适应和安全保障

 “谈谈网络编程在iOS中的长连接”

 “移动即时消息开发人员必须阅读(1):易于理解理解移动网络的“弱”和“慢”

 移动即时消息开发者必须阅讀(2):历史上最全面的移动弱网络优化方法总结

 IPv6技术详解:基本概念、应用现状和技术实践(上)

 IPv6技术详解:基本概念、应用现状和技术实践(下)

 即时消息网络-即时消息开发者社区!来源:即时消息网络-即时消息开发者社区!

注册透传消息广播如下:

//支持单聊和群聊默认单聊,如果是群聊添加下面这行

//action可以自定义在广播接收时可以收到

// 给自己的好友发送通知


下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 可靠传输的四个条件 的文章

 

随机推荐