2011-07-29 53 views
5

我正在做socket.io和nodejs的第一個應用程序,就像socket.io官方web所說的,但是我在運行node.server後看到的唯一一個html是「Welcome to socket.io」。我怎樣才能解決這個問題?或者爲什麼會發生?歡迎來到socket.io。只有消息

的代碼如下:

index.html 

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

</script> 

server.js 

var io = require('socket.io').listen(80); 

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

我真的很感激任何答案,因爲如果沒有,我不能socket.io開始!

回答

10

歡迎來到socket.io!

1.You要補充socket.io js文件就這樣,

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

你並不需要解決一個實際的文件。 socket.io會照顧這個

  1. 你好世界在你的瀏覽器控制檯將被記錄,您的文檔不在家。使用Firebug或開發工具來檢查。

  2. 要自己做一些事情,從瀏覽器發出一個事件,然後使用socket.on('your event', function(){})和console.log從客戶端收到的數據。

我是新來的節點和socket.io呢! :)

+0

「你不需要解決一個實際的文件」Wth?這對我來說很奇怪。也許他們應該說一些有用的東西,而不是「歡迎來到socket.io!」 –

1

這將完美的工作!

的index.html

<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' }); // Line A 
    }); 
    socket.emit('my other event', { my: 'data' }); //Line B 
</script> 

server.js

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

也許,用線代替線B A請問trick.Don't知道爲什麼socket.io沒」檢查他們的例子。這是因爲,socket.emit()是獨立的調用,並不會由於服務器的新事件而被觸發。理由尚未公開,但我能夠得到所需的輸出。