网络协议
woshiyuanlei
精通服务器架构,网络通信,数据库操作,熟悉操作系统原理
展开
-
TCP心跳时间的设置
TCP心跳存在的必要性:1. 当client网络出现某些异常断开时,server是无法知道的,因为有时client没有发送fin包。所以需要使用心跳来判断client是否还连接到server上。2. 当需要server向client推送消息时。我们需要设定心跳时间在合理的范围,不能超过nat超时时间,也不能太短(信令风暴),如果超过了nat超时时间,则server无法推送消息到client...原创 2021-07-14 16:07:45 · 1276 阅读 · 0 评论 -
游戏服务器:到底使用UDP还是TCP
http://blog.jobbole.com/64638/在编写网络游戏的时候,到底使用UDP还是TCP的问题迟早都要面对。一般来说你会听到人们这样说:“除非你正在写一个动作类游戏,否则你就用TCP吧” 或者是 “你能够在MMO游戏中用TCP,因为魔兽世界就用的TCP!”遗憾的是,这些观点都没有反映这个问题的复杂性。背景首先,说明一下,我之前主转载 2015-10-22 15:15:46 · 717 阅读 · 0 评论 -
TCP 的那些事儿(转载)
无论是PC客户端开发还是移动开发,或是Web开发, 网络编程都是很重要的一块, 深入理解TCP/IP和HTTP协议是一个优秀程序员的必备技能。看到酷壳老大正好写了篇相关文章, 正好拿来学习, 转自 http://coolshell.cn/articles/11564.htmlTCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦转载 2015-10-23 18:16:28 · 1593 阅读 · 0 评论 -
TCP 的那些事儿(下)
http://kb.cnblogs.com/page/209101/这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定转载 2016-06-24 10:05:00 · 548 阅读 · 0 评论 -
TCP 的那些事儿(上)
TCP 的那些事儿(上)TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英转载 2016-06-24 10:13:13 · 350 阅读 · 0 评论 -
Why Protocol Buffer So Fast? ----protobuf编码详解
prtotocol buffer是google于2008年开源的一款非常优秀的序列化反序列化工具,它最突出的特点是轻便简介,而且有很多语言的接口(官方的支持C++,Java,Python,C,以及第三方的Erlang, Perl等)。本文从protobuf如何将特定结构体序列化为二进制流的角度,看看为什么Protobuf如此之快。一,示例从例子入手是学习一门新工具的最佳方法。下面我转载 2017-04-29 13:27:30 · 461 阅读 · 0 评论