2016-07-14 13 views
0

meine server.js Dies ist nicht funktioniert:Socket.io nicht

var app = require('express')(); 
var server = require('http').Server(app).listen(8080,function(){ 
console.log('working'); 
    }); 
var io = require('socket.io')(server); 

app.get('/',function(req,res){ 
res.sendFile(__dirname+'/index.html'); 
}); 

io.on('connection',function(socket){ 
console.log('someone connected'); 
}); 

Das ist mein index.html:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title></title> 
</head> 
<body> 
<script src="node_modules/socket.io-client/socket.io.js"></script> 
<script src="http://code.jquery.com/jquery-1.11.1.js"></script> 


<script> 
    var socket = io(); 


</script> 

</body> 
</html> 

Ich denke, dass ich es so in seiner Website richtig gemacht, aber wenn Ich führe es auf Knoten und schaue auf localhost: 8080 Ich kann nicht sehen, jemand verbundener Satz in der Konsole. Wo ist das Problem oder was kann das Problem sein?

+0

Sie verwenden ' server.js' im Client ?? – Lekhnath

+0

socket = io.connect(); :) –

+0

hat sich nicht geändert – herovoe

Antwort

2

stellte ich den Code auf meinem Server, aber die Skript Quelle der index.html-Datei geändert:

<script src="/socket.io/socket.io.js"></script>

ich es someone connected auf dem Server anmelden erhalten können.

Dies ist aus dem oberen Beispiel der socket.io website entnommen. Ich denke, die Dateipfadauflösung muss irgendwo im socket.io Server-Quellcode behandelt werden.

Siehe auch: Can't find socket.io.js

0

dieses Versuchen, seine für mich arbeiten

Server.js (Serverseite)

var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 

app.get('/', function(req, res) { 
    res.sendFile(__dirname + '/index.html'); 
    console.log(__dirname + " dir name"); 
}); 


io.on('connection', function(socket) { 

    socket.on("join", function(name) { 
    }); 

    socket.on('disconnect', function() { 

    }); 
}); 

http.listen(8080, function() { 
    console.log('listening on *:8080'); 
}); 

In Client-Seite

var socket = io.connect("http://localhost:8080"); 

    socket.on('connect', function() { 
     //connect 
    }); 

socket.emit("join", 'user1');