Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 什么';这是允许2个用户';使浏览器相互通信_Node.js_Spring_Rest - Fatal编程技术网

Node.js 什么';这是允许2个用户';使浏览器相互通信

Node.js 什么';这是允许2个用户';使浏览器相互通信,node.js,spring,rest,Node.js,Spring,Rest,我想制作一个基于浏览器的国际象棋游戏。两个用户轮流在同一块板上移动 目前,我已经启动了一个带有spring的tomcat服务器,它可以接收节点服务器发出的rest调用 但是,每当有用户移动时,我都会进行rest调用。虽然响应发生得非常快,因为在服务器端几乎没有什么事情要做 但我觉得这可能不是最好的办法。是否有更好的替代方案,或者rest调用在这种情况下是否足够?如果您的数据不大,则browserA向browserB发送内容的最简单、最可靠的方法是通过您的服务器执行。browserA向您的服务器发

我想制作一个基于浏览器的国际象棋游戏。两个用户轮流在同一块板上移动

目前,我已经启动了一个带有spring的tomcat服务器,它可以接收节点服务器发出的rest调用

但是,每当有用户移动时,我都会进行rest调用。虽然响应发生得非常快,因为在服务器端几乎没有什么事情要做


但我觉得这可能不是最好的办法。是否有更好的替代方案,或者rest调用在这种情况下是否足够?

如果您的数据不大,则browserA向browserB发送内容的最简单、最可靠的方法是通过您的服务器执行。browserA向您的服务器发送一条消息,要求服务器将消息X传递给browserB。然后,服务器可以将其传递给browserB。如果两个客户端都使用webSocket或socket.io连接连接到服务器,则效率最高。有点对点技术,但它们与防火墙、代理等存在各种潜在的兼容性问题。。。点对点技术试图愚弄那些防火墙。一个简单的客户端webSocket连接到您的服务器是100%可靠、简单和无故障的。只要你的服务器上没有大量的数据(即使你同时进行了数十万次的国际象棋游戏,你也不会进行简单的国际象棋游戏),这绝对是最好的方式。@jfriend00-如果澳大利亚的两名玩家试图使用日本的服务器进行游戏,这不是最好的方式。网络延迟可能是一个杀手。(你下过闪电棋吗?@StephenC-这是一场国际象棋。当宣布一项行动时,额外的几毫秒延迟不会被任何人注意到或与任何人相关。如果这是一个实时互动的多人射击游戏,那么延迟可能很重要。但是,对于一场国际象棋,除了最简单、最可靠的实现,即客户机到服务器到客户机的方案之外,没有理由选择任何东西。
You can use the websocket.io with nodejs for the real-time communication between users.

If you don't want to use the server at all then you can use the webrtc that uses peer to peer connection.

Here are few useful references:
https://dev.to/rynobax_7/creating-a-multiplayer-game-with-webrtc
https://rynobax.github.io/jump-game
https://github.com/jwagner/webrtc-pong
https://www.webrtc-experiment.com/#featured

For Nodejs and socket.io
https://github.com/fbaiodias/phaser-multiplayer-game

Thanks