基本上我想制作一个像扑克这样的社交游戏,其中多个玩家可以联系在一起。但我不想要服务器端交互。
所以我的想法是让一个人的浏览器充当服务器,其他人充当客户端。
人 A 的浏览器将保存数据(客户端 DB)并通过网络套接字或其他东西与人 B 通信。
我不确定两个浏览器是否可以通过套接字连接。Web 套接字(HTML5)或任何有助于 IP 到 IP 连接的 Flash 插件。有可能吗?
到目前为止,我什至不确定用户将如何连接以启动游戏。我可能需要放置服务器进行初始连接。
基本上我想制作一个像扑克这样的社交游戏,其中多个玩家可以联系在一起。但我不想要服务器端交互。
所以我的想法是让一个人的浏览器充当服务器,其他人充当客户端。
人 A 的浏览器将保存数据(客户端 DB)并通过网络套接字或其他东西与人 B 通信。
我不确定两个浏览器是否可以通过套接字连接。Web 套接字(HTML5)或任何有助于 IP 到 IP 连接的 Flash 插件。有可能吗?
到目前为止,我什至不确定用户将如何连接以启动游戏。我可能需要放置服务器进行初始连接。
目前,您无法使用 Web 浏览器执行此操作,因为它们不能像服务器一样工作。不过,将来可能会实现:Chrome 正在试验 Socket 实现(这是 Canary 版本中默认禁用的实验性功能)。Node.js 已经(部分)使用 chrome.socket 移植。
使用 Flash,从版本 10 开始可以创建 p2p 多人游戏,但您仍然需要一个中央服务器来设置玩家之间的初始连接。这里有一个库:http: //www.flashrealtime.com/p2p-game-lib/。
请注意,p2p 多人游戏使玩家更容易作弊,因为权限在于一个或多个玩家,而不是中央服务器。
浏览器不可能接受 websocket 请求,因此您需要服务器来处理此类请求。关于如何设置 websocket 服务器,我推荐基于 node.js 的socket.io 。它非常易于使用,并且只有 javascript 是 Web 开发人员习惯的一种语言。