2017-06-07 100 views
0

制作游戏,我不知道我在做什么谈到在线方面。400个不好的请求(用node和socket.io制作游戏)

我使用使用计算机作为服务器主机和客户端(本地主机:3000)node.js的

var express = require('express'); //no idea what I am doing here 
var app = express(); 
var server = app.listen(3000); 
var socket = require("socket.io"); 
var io = socket(server); 
io.sockets.on('connection', newConnection); 
app.use(express.static("public")); 

console.log("server is up"); //tells me that the server is ready 

function newConnection(socket) { 
    console.log("new player!", socket.id); //tells me when a new player connects. 
} 

也有市民主要在这个代码JavaScript文件

var socket; 
socket = io.connect("localhost:3000"); 

每当新玩家连接我得到400个错误的请求错误,游戏认为多个玩家已加入。

picture to aid

所以请帮助。

+0

请尝试下面的[socket.io教程](https://socket.io/get-started/chat/)。我最近使用websockets创建了一个多人绘图游戏,发现它很难弄清楚websockets是如何工作的;根本没有明确的教程。该教程没有帮助我,因为我没有使用'socket.io',但它可能会帮助你。 – Clonkex

回答

0

在我的游戏中,我有一个名为“数字”的构造函数,并且这导致了整个问题。

我假设socket.io或node.js已经有一个叫做“Number”的函数,这就是导致这个问题的原因。

1

您需要处理当有人连接到服务器时发生的情况。

var express = require('express'); 
var app = express(); 
var server = require("http").createServer(app); 
server.listen(3000) //server listens on port 3000 
var io = require("socket.io")(server) 

//this will be called when a new client connects 
io.on("connection", (socket)=>{ 
    //socket is the socket object of the new client 
    console.log("new socket connected with socket id = " + socket.id) 

}) 

查看socket.io文档以获取更多信息。

+0

所以你说,没有做任何事情,但控制台日志记录导致这些错误? – Canatron

+0

nvm我想到了,我的游戏中的一个函数的名字与socket.io中的另一个函数“Number”相同,这就是导致问题的原因。 – Canatron

相关问题