﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-我和我追逐的梦</title><link>http://www.blogjava.net/dieshilai/</link><description>by J</description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 00:49:14 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 00:49:14 GMT</pubDate><ttl>60</ttl><item><title>同步相关</title><link>http://www.blogjava.net/dieshilai/archive/2011/10/10/360341.html</link><dc:creator>赖建</dc:creator><author>赖建</author><pubDate>Mon, 10 Oct 2011 00:51:00 GMT</pubDate><guid>http://www.blogjava.net/dieshilai/archive/2011/10/10/360341.html</guid><wfw:comment>http://www.blogjava.net/dieshilai/comments/360341.html</wfw:comment><comments>http://www.blogjava.net/dieshilai/archive/2011/10/10/360341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dieshilai/comments/commentRss/360341.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dieshilai/services/trackbacks/360341.html</trackback:ping><description><![CDATA[网游同步问题：<br />&nbsp;&nbsp; &nbsp;延迟、数据传输方式（TCP/IP,UDP/IP),服务器之间同步（P2P)，丢包问题<br /><br /><br />技术分析:<br /><br />1、同步算法分析<br />&nbsp;&nbsp;&nbsp;&nbsp; &#8216;）保守同步算法：<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; i,Lock Step步伐一致同步，算法核心就是，在某个时&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 间段内，必须等待所有的用户消息接受完毕后才进行操作。缺点，响应周期长，优点适合及时战略类游戏，比较简单。<br />&nbsp;&nbsp; &nbsp;ii, Time Bucket同步，即时间桶同步算法，核心是，异步同步算法，即思想是先来的先收数据，后来后收，在处理的过程中是根据客户端的延迟来回应的，延迟越高，响应时间越长。<br />&nbsp;&nbsp; &nbsp;&#8217;）乐观同步算法<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;i. DR Bucket 即同步延迟桶同步算法，算法具体思想是，使用固定时间长&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;度的周期(比如T)对系统时间进行划分，<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;对应每一个时间周期T就会有一个桶存在，即频率为1/T，消息被发送以&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;后，当接收方接收到消息的时候，就根据其对应的时间周期将其放到消息&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;桶中，当这个桶周期结束以后，就可以使用桶里所有的消息来计算游戏的&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;状态。如图3.1所示，图中包含本地主机和远程主机两条时序，在t0时刻本&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;机产生了一个消息，远程主机在t1产生的消息在t2到达本地主机，t0和tl&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;属于同一个桶周期，所以被放到了同一个桶中<img alt="" src="http://www.blogjava.net/images/blogjava_net/dieshilai/a.PNG" width="774" height="460" /><br /><img src ="http://www.blogjava.net/dieshilai/aggbug/360341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dieshilai/" target="_blank">赖建</a> 2011-10-10 08:51 <a href="http://www.blogjava.net/dieshilai/archive/2011/10/10/360341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>