免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: mik
打印 上一主题 下一主题

大家讨论一下 IM 的实现结构和方案 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2009-07-07 12:22 |只看该作者
原帖由 xhl 于 2009-7-7 10:51 发表



网络游戏的同步, 是一大难点, 基本思路就是先同步时间, 大概估算某个时间段server跟没个用户之间上下行的时延, 一般在200ms内精确。

这个基本要不停的做, 因为某个时间段带宽情况会不停的变化。
...



那样的话,游戏就完全没有操作感,网络环境很好,但是就是里面的游戏精灵反映很迟顿,玩家只会觉得游戏很烂~~

论坛徽章:
0
62 [报告]
发表于 2009-07-07 12:26 |只看该作者
原帖由 anders0913 于 2009-7-7 12:22 发表



那样的话,游戏就完全没有操作感,网络环境很好,但是就是里面的游戏精灵反映很迟顿,玩家只会觉得游戏很烂~~



拉慢玩家是为了保持公平, 但不是无限的慢, 人的反映速度跟计算机比起来,还是有个差距空间, 可以利用的。

所有pk类的游戏, 都这样做的。

论坛徽章:
0
63 [报告]
发表于 2009-07-07 12:52 |只看该作者
原帖由 xhl 于 2009-7-7 12:26 发表



拉慢玩家是为了保持公平, 但不是无限的慢, 人的反映速度跟计算机比起来,还是有个差距空间, 可以利用的。

所有pk类的游戏, 都这样做的。


虽然了解了,但还有点不明白,可能我说的慢,是慢到很卡了那种吧~~

还有,pk所用的招数,是玩家手动输入的,是玩家的经验判断,并不是,一个玩家的机器性能和网络环境好,它的招数就会比较快。

而且,pk类游戏,应该是以对方的招数和所处的位置,决定下一的招数是什么,拉慢的话,会不会是对网络环境好的玩家是一种不公平?~~

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
64 [报告]
发表于 2009-07-07 13:03 |只看该作者
xhl很厉害啊,我现在一直想搞分布式、集群之类的应用,但是这方面的资料少,自己也没有经验

论坛徽章:
0
65 [报告]
发表于 2009-07-07 13:33 |只看该作者
原帖由 brightsun__ 于 2009-7-7 13:03 发表
xhl很厉害啊,我现在一直想搞分布式、集群之类的应用,但是这方面的资料少,自己也没有经验



素业专功吗, 我以前是做im的, 后来转做网络游戏了。 最近因为身体不好, 在家修假, 无聊跑来管水。 哈哈。

上面说的那些设计上的东西, 有些是我自己实践过得到的经验,有些是从别人那里借鉴来的, 自己也没证实过。

不过不管怎么说, 想做这些, 还要要有很扎实的程序基础与网络基础。 无论linux 还是 windows.

论坛徽章:
0
66 [报告]
发表于 2009-07-07 13:49 |只看该作者
嗬嗬,我也来留个名.

论坛徽章:
0
67 [报告]
发表于 2009-07-07 14:40 |只看该作者
跟xhl学到了不少东西,强人。。
顶一下

论坛徽章:
0
68 [报告]
发表于 2009-07-07 18:06 |只看该作者
有很多开源IM项目,比如jabber

论坛徽章:
0
69 [报告]
发表于 2009-07-07 18:26 |只看该作者
原帖由 xhl 于 2009-7-7 12:06 发表



tcp的打洞理论上是可以的, 但因为很多网关都有firewall, 所以很难通过, 我觉得那个只是停留在理论上。




xhl 能否详细说说tcp打洞?  
以前一直认为udp 打洞会麻烦一些 ,因为tracker给对方发送打洞命令,然后对方发送打洞的包,才能够连接对方。

但是很多p2p的软件都是用的tcp连接。 一直在想, 在这些软件中是怎么实现打洞的 。

一直以为是在tcp连接的握手过程就同时实现打洞了。  太肤浅了

论坛徽章:
0
70 [报告]
发表于 2009-07-07 18:38 |只看该作者
原帖由 aobai 于 2009-7-7 18:26 发表




xhl 能否详细说说tcp打洞?  
以前一直认为udp 打洞会麻烦一些 ,因为tracker给对方发送打洞命令,然后对方发送打洞的包,才能够连接对方。

但是很多p2p的软件都是用的tcp连接。 一直在想, 在这些 ...


首先我没看过那个p2p是靠tcp 穿越nat的。 我认为这个也许在欧洲的网络环境可行, 在中国, 人多资源少, 大部分是nat背后的环境, 很难。

我怀疑你看到的是tcp relay, 只不过是没用server, 用别人的机器。 偷用。 skype是这样做的。 很多bt类型的软件也是这样做的。

我看过几偏文章写这个的, 自己没尝试过。

基本思路跟udp类似,依赖nat的行为, 就是把三次握手的包能放行。 但目前国内几乎100%的nat不会这样做。他们只允许出去的syn消息, 不允许进来的。

有个特殊的地方, 可以稍微偷巧一下, 利用nat上的upnp功能, 可以在一定时间内定阅一个public ip or port. 所以既然这样了, 就谈不上什么打洞了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP