2012-08-13 4 views
0

https://github.com/LearnBoost/socket.io의 다음 예제 코드를 사용하여 Socket.IO 및 Express 예제를 시작합니다.Socket.IO OS X Mountain Lion에서 작동하지 않는 간단한 익스프레스 예제

Cannot GET/

내 app.js는 다음과 같습니다 : 나는 localhost에 도착했을 때

, 나는이 오류가

내 index.html을은 다음과 같습니다
var express = require('express'); 
var io = require('socket.io'); 
var server = require('http'); 

var app = express() 
    , server = require('http').createServer(app) 
    , io = io.listen(server); 

server.listen(80); 

io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

:

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
</script> 

패키지 :

npm ls 
├─┬ [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └─┬ [email protected] 
│ └── [email protected] 
└─┬ [email protected] 
    ├── [email protected] 
    ├─┬ [email protected] 
    │ └── [email protected] 
    └─┬ [email protected] 
    ├─┬ [email protected] 
    │ └── [email protected] 
    ├── [email protected] 
    ├─┬ [email protected] 
    │ ├── [email protected] 
    │ ├── [email protected] 
    │ └── [email protected] 
    └── [email protected] 

감사합니다.

답변

2

index.html 파일을 제공하도록 Express에 지시하지 않았습니다. 브라우저에서 localhost/index.html를 방문 후

var express = require('express'); 
var io = require('socket.io'); 
var server = require('http'); 
var path = require('path'); 

var app = express() 
    , server = require('http').createServer(app) 
    , io = io.listen(server); 
app.use(express.static(path.join(__dirname, 'public'))); 

를 실행 한 다음, 가장 쉬운 방법은 그것을 실행 얻을 것은 디렉토리 public라고 그 안에 index.html을 넣을 수 있도록하고, 그 디렉토리에서 정적 파일을 제공 있도록 익스프레스 서버를 수정하는 것입니다 .

관련 문제