[英]WebSockets with node.js
我正在嘗試一個WebSocket的例子來開發一個簡單的聊天。
server.js
:
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(8080);
function handler (req, res) {
fs.readFile(__dirname + '/test.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
和test.html
:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('connect', function() {
alert('<li>Connected to the server.</li>');
});
socket.on('message', function(message) {
alert(message);
});
socket.on('disconnect', function() {
alert('<li>Disconnected from the server.</li>');
});
function sendF(){
var message = "Test";
socket.send(message);
alert('Test Send');
}
在test.html
我還有一個簡單的按鈕, onClick
調用sendF
。
如果我嘗試它,當我連接,發送和斷開時,我在瀏覽器上看到一個警告,如果我在控制台中檢查,我會看到該消息。
但我無法從服務器收到相同的消息,以便在我的瀏覽器中顯示它! 我認為socket.on('message'...
對我不起作用!
您的server.js缺少事件偵聽器。 在發送要在瀏覽器中顯示的消息時,它也會丟失。
io.sockets.on('connection', function (socket) {
console.log('user connected');
socket.send('hello world');
socket.on('disconnect', function () {
console.log('user disconnected.');
});
socket.on('message', function (data) {
console.log(data);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.