我在學習JavaScript並遵循Daniel Shiffman的p5.js教程。我製作了一款有趣的小型乒乓球遊戲,並希望通過多人遊戲讓它更上一層樓。我想從基礎入手,並遵循Daniel的Socket教程。我可以成功訪問我的網站並查看我的畫布。但是,我想通過局域網提供下一個級別。我不知道如何做到這一點,我有一些麻煩。下面是我使用的客戶端代碼:通過局域網連接的Socket.io連接
var socket;
function setup() {
socket = io.connect();
createCanvas(200, 200);
}
function draw() {
background(0);
fill(255);
ellipse(mouseX, mouseY, 60, 60);
}
服務器代碼:
// Imports
var express = require('express');
var socket = require('socket.io');
// Create Local host
var app = express();
var server = app.listen('3000')
app.use(express.static('public'));
// Sockets
var io = socket(server);
io.sockets.on('connection', newConnection);
// New Connection
function newConnection(socket) {
console.log("New Connection: " + socket.id);
}
console.log("Server running...");
如果需要的話,這裏是我的index.html代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Learning Sockets</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>
<script src="/libraries/addons/p5.min.js"></script>
<script src="/libraries/addons/p5.dom.min.js"></script>
<script src="/libraries/addons/p5.sound.min.js"></script>
<script src="sketch.js"></script>
<script src="/libraries/addons/p5.dom.js"></script>
</head>
<body>
</body>
</html>
記住我初學者。我試着看過其他帖子,但答案太複雜了,最後,我不認爲它解決了我的問題。不知道它是否重要,但我確實安裝了node.js,express和socket.io。我曾嘗試使用http://my-ip:3000進行連接。我可以通過localhost:3000和my-IP:3000從我的電腦連接。但是,當我嘗試從另一臺計算機連接時,它不起作用。是的,我連接到同一個網絡。
丹尼爾Shiffman的播放列表:https://www.youtube.com/playlist?list=PLRqwX-V7Uu6b36TzJidYfIYwTFEq3K5qH
它很可能是您的防火牆阻止連接。您應該在防火牆設置中解除端口3000的阻止。 –