游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2737|回复: 8

客户端所有的消息都由服务器转发,但不同的客户端受到

[复制链接]

75

主题

102

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2009-7-2 12:24:00 | 显示全部楼层 |阅读模式
好比人物走到,本地客户端发了一个位置的数据,服务器也在本地,另一个客户端在很远的地方,这样,我要把本地的这个位置信息发给服务器,再由服务器转发给所有的客户端包括本地客户端,但是无法保证消息同时到达每个客户端,也就是有延时,到达每个客户端的时间不一致,造成人物无法同步,请问这样的问题应该如何解决呢?

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-7-2 12:53:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

哪个游戏没有延迟的?

延迟几秒都算正常

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2009-7-2 14:22:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

首先需要对客户端和服务器的逻辑时间做个同步,也就是说大家有一个共同的时钟。然后服务器发出的消息里带上发出时刻,不同客户端在收到消息后,根据收到时刻与发出时刻的差值来预测,预测的是客户端在收到消息时对象应该在什么位置。要预测的话就需要在消息里包括位置和速度信息,甚至会有加速度。其实速度是位置的一阶导数,加速度是位置的二阶导数,消息里附带的这些导数的阶数越高那么预测得就越准(前提是这些导数都是平滑的曲线)。

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2009-7-3 01:14:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

不预测行不行?

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2009-7-3 20:41:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

不行

4

主题

31

帖子

31

积分

注册会员

Rank: 2

积分
31
发表于 2009-7-4 12:35:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

学习。。。

6

主题

258

帖子

269

积分

中级会员

Rank: 3Rank: 3

积分
269
发表于 2009-7-8 12:45:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

命题前提就不对,位置的信息应由服务器结算,不能以本地客户端的为准.

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2009-7-8 13:18:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

楼上正解!

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2009-7-8 15:24:00 | 显示全部楼层

Re:客户端所有的消息都由服务器转发,但不同的客户端受

一种是客户端做运动模拟,另一种是服务器端做运动模拟
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-19 19:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表