2017-06-07 96 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

相關問題