2017-10-05 78 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