我面临的挑战是通过仅使用标题中提到的技术来模拟网站的两个用户(例如游戏网站)之间的通信信道.
最近我开发了一个在线国际象棋网站,其背后的想法是让用户有机会玩“现场”比赛,而不仅仅是漫长的游戏你会采取行动,然后在1-15天内回来看看如果你的对手有回应.此游戏引擎的工作方式意味着向服务器发送异步请求,既可以更新与游戏相关的信息(如果您进行移动),也可以验证是否有任何更改(如果您正在等待对手移动).
为了更好地解释这一点……轮到它的玩家(当然是浏览器)发送异步.请求更新游戏信息,确切地说是他移动的时候.同时,对手发送PERIODIC请求,“询问”是否有任何变化.如果有任何更改,角色会在电路板更新后切换.
定时器是引擎功能的背后,所以我的问题是:你如何在两个玩家之间模拟一个com通道,同时尽量不对服务器施加太多压力,同时让游戏更新速度如下:可能,以保持“生活”的感觉.这在1分钟的比赛中是最重要的(可用类别之一).因为在这种情况下,请求非常频繁地发生(至少1秒).但服务器响应可能会延迟,当同时有数百个游戏可用时,服务器上会有很多压力……所以你看到了我的问题.
如果你有任何好主意,我期待着你们的回复并挑选你的大脑:)
干杯!
安德烈
PS:如果您想尝试它,名称是e-chess960.com
解决方法:
你想要构建一个套接字服务器. node.js将是一个很好的基于javascript的库,用于套接字服务器.每个客户端都会创建一个到套接字服务器的套接字连接,然后当客户端向套接字服务器发送消息时,套接字服务器可以立即将消息发送回其订阅者,而不必将其存储在任何地方.
套接字服务器需要套接字访问,这通常需要vps而不是共享服务器.
要使解决方案有效,您需要客户端能够创建到服务器的套接字连接.一些浏览器已经可以作为html5的一部分,但还不是全部.您也可以使用Flash作为创建套接字连接的方法.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。