2017-10-05 79 views
0

我在學習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

+0

它很可能是您的防火牆阻止連接。您應該在防火牆設置中解除端口3000的阻止。 –

回答

0

對不起,我在我的IP地址看了一遍,我用錯了一個。傻我。問題解決:D