/ / Impossibile trovare socket.io.js - node.js, socket.io

Impossibile trovare socket.io.js - node.js, socket.io

Sto creando un'app web che utilizza nodejs, mongodb, socket.io, express e mangusta.
Posso avviare il mio server e ottenere correttamente il file html desiderato nel mio browser quando navighi sul mio localhost.
Il problema che ho è quello di far funzionare il mio socket.io. Dal mio lato server tutto funziona bene: ottengo "info - socket.io started" nel mio terminale.

Ma quando navigo sul mio browser ottengo questo nella mia console del browser

    Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught ReferenceError: io is not defined

Ecco come mi connetto a socket.io.js

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

e la mia struttura della mappa si presenta così:

 map
-app.js
-public
--index.html

-node_modules
--socket.io
--mongodb
--express
--jade
--mongoose

Qualcuno sa qual è l'errore che ho fatto?

(In realtà è lo stesso problema di qui: Node.js socket.io.js non trovato o io non definito )

Grazie in anticipo!

MODIFICARE: Il mio codice sul lato server è questo:

    var app= require("express").createServer();
var io = require("socket.io").listen(app);
var mongoose = require("mongoose");
var db = mongoose.connect("mongodb://localhost/db");

app.listen(3030);
console.log("server started");

app.get("/",function(req,res){
res.sendfile(__dirname + "/public/index.html");
});


io.sockets.on("connection",function(socket){
console.log("connection made");
});

Il primo registro, viene registrato nel terminale("server started"), ma il secondo ("connection made") non viene registrato, quindi la connessione non viene effettuata. Ho pensato che fosse a causa del "set up" sbagliato nella mia parte client.

risposte:

2 per risposta № 1

Consulta la guida alla migrazione espressa 2-> 3 https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x Qualcosa del genere dovrebbe funzionare

 var express = require("express");
var app = express();
var http = require("http");
var server = http.createServer(app);
var io = require("socket.io").listen(server);
var mongoose = require("mongoose");
var db = mongoose.connect("mongodb://localhost/db");

server.listen(3030);
console.log("server started");

app.get("/",function(req,res){
res.sendfile(__dirname + "/public/index.html");
});


io.sockets.on("connection",function(socket){
console.log("connection made");
});

-1 per risposta № 2
var app = express();
app.set("port", process.env.PORT || 3000);

...

var server = http.createServer(app).listen(app.get("port"), function(){
console.log("Express server listening on port " + app.get("port"));
});

var io = socket.listen(server);
io.sockets.on("connection", function () {
console.log("hello world im a hot socket");
});