[英]Working socket.io demo getting error message with
我一直在尋找不使用 Express.js 的 socket.io 的工作演示,為什么這個示例不起作用:
服務器:
const server = require('http').createServer();
const io = require('socket.io')(server);
io.on('connection', client => {
client.on('event', data => { /* … */ });
client.on('disconnect', () => { /* … */ });
});
server.listen(3000);
客戶:
<script src="node_modules/socket.io/client-dist/socket.io.js"></script>
<script>
const socket = io("http://localhost");
</script>
這給出了錯誤: polling-xhr.js:157 GET http://localhost/socket.io/?EIO=4&transport=polling&t=NwWVGV9 net::ERR_CONNECTION_REFUSED
發現了一些有用的東西:
服務器:
var app = require('http').createServer(handler);
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(80);
function handler(req, res) {
var url;
if (req.url == "/") {
url = "/index.html";
} else {
url = req.url;
}
fs.readFile(__dirname + url, function (err, data) {
if (err) {
res.writeHead(404);
res.end(JSON.stringify(err));
return;
}
res.writeHead(200);
res.end(data);
});
}
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
socket.on('disconnect', function () {
console.log(socket.id + ' disconnect ('+ socket.client.conn.transport.constructor.name +')');
});
});
客戶:
<script src="node_modules/socket.io/client-dist/socket.io.min.js"></script>
<script>
var socket = io('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.