Websocket 多人服务器对人游戏

Websocket 多人服务器对人游戏,websocket,Websocket,我确实是新来的,但是我已经读了好几年了。。自从我开始编程以来 我还是个新手,在人际交往方面,我的子宫绝对是新鲜的。但我会保持这个简短,这样你就可以给出一个结论性的答案 我有一个Web服务器和一个域名。我想使用WebSocket来创建一个环境,在这个环境中,两个玩家可以在同一屏幕上同时移动。例如,如果鼠标控制一个点,两个人连接到一个全局“世界”,那么一个人可以实时看到另一个人的点。类似的一个例子是rumpetroll.com 我不希望得到太多关于如何设计像RuneScape这样的游戏的信息(尽管我

我确实是新来的,但是我已经读了好几年了。。自从我开始编程以来

我还是个新手,在人际交往方面,我的子宫绝对是新鲜的。但我会保持这个简短,这样你就可以给出一个结论性的答案

我有一个Web服务器和一个域名。我想使用WebSocket来创建一个环境,在这个环境中,两个玩家可以在同一屏幕上同时移动。例如,如果鼠标控制一个点,两个人连接到一个全局“世界”,那么一个人可以实时看到另一个人的点。类似的一个例子是rumpetroll.com

我不希望得到太多关于如何设计像RuneScape这样的游戏的信息(尽管我认为这个想法几乎是一样的)。我只是想深入解释一下如何让这个很酷的小互动继续下去

任何关于如何编程到套接字的链接都将不胜感激,因为我在互联网上只能找到这个概念。没有关于机械和每个命令可以做什么的内容


无论如何,谢谢你们

您将需要一台服务器和一台客户端。我假设您了解JavaScript,所以我将提供一个在双方都使用它的示例

服务器 您需要按照网站上的说明进行安装

我将提供使用的示例,因为您要求使用WebSocket,但请记住还有其他解决方案,例如,值得一看

将自己放在一个新文件夹中,运行
npm install socket.io
,这将下载服务器所需的代码;然后将此代码粘贴到名为
server.js的文件中

var io = require('socket.io').listen(8000);

io.sockets.on('connection', function (socket) {
  socket.emit('new-connection', { message: 'we have a new user!' });
  socket.on('message-from-client', function (data) {
    console.log(JSON,stringify(data));
  });
});
通过键入
node server.js
启动服务器,您应该在控制台中看到
info-socket.io Start

客户 将此代码粘贴到名为
index.html
的文件中,并使用您喜爱的web浏览器打开它

<script src="http://localhost:8000/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost:8000');
  socket.on('new-connection', function (data) {
    alert(JSON.stringify(data));
    socket.emit('message-from-client', { message: 'hi' });
  });
</script>

var socket=io.connect('http://localhost:8000');
socket.on('new-connection',函数(数据){
警报(JSON.stringify(数据));
emit('message-from-client',{message:'hi'});
});
一旦导航到
http://localhost:8000
您将看到两件事:

  • 警觉的问候你
  • 启动服务器的控制台中的消息
每次您导航到该url,尝试使用两种不同的浏览器或在匿名/私人浏览窗口中导航到该url时,都会发生这种情况。每次您都应该看到警报和消息

这是基本设置。从这里你可以把事情复杂化到你喜欢的程度,如果你使用这个解决方案,考虑在JSON中传递数据,正如我在例子中所展示的。 从这里到哪里去 正如您所看到的,这非常容易,如果您想显示一个点,它将为所有用户显示,将客户端鼠标移动绑定到一个函数,该函数将把位置发送到服务器,并将其广播给所有其他连接的用户(应该是类似于
socket.broadcast.emit
的内容,但请查看文档,因为我不确定),或者您可以简单地发送一个事件,比如
更新的鼠标位置
,它将绑定一个函数来处理图形部分


希望这有帮助,如果您对基本配置有疑问/问题,请随时添加评论。

您找不到WebSocket上的文档?只有三种方法。。。