javascript - 我在哪里可以找到 socket.io 1.0 的工作示例?

标签 javascript node.js express socket.io

我在哪里可以找到 socket.io 1.0 结合 express 3.0 的工作示例?目前的问题是在我的 index.html 中找不到 /socket.io/socket.io.js

var express = require('express')
var http = require('http')
var app = express()

app.configure(function () {
    app.set('port', process.env.PORT || 80);
});


// setup express server
var serv = http.Server(app);

// setup socket io 
var io = require('socket.io')(serv);
app.get('/', function (req, res) {
    res.sendfile(__dirname + '/index.html');
});

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

serv.listen(app.get('port'), function () {
    console.log("Express server listening on port " + app.get('port'));
});

这是我的 index.html 中的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Socket Example</title>
    <script src="/socket.io/socket.io.js"></script>
    <script>
        var socket = io.connect('/');
        socket.on('news', function (data) {
            console.log(data);
            socket.emit('my other event', { my: 'data' });
        });
    </script>
</head>
<body>
    <b>Socket IO</b>
</body>

这就是我在 package.json 中的内容

{
  "name": "socketio",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
      "express": "3.0",
      "socket.io": "LearnBoost/socket.io"
  },
  "scripts": {
    "start": "node app.js"
  }
}

最佳答案

您面临的问题是您决定使用未完成、未完成的 socket.io 1.0 版本。它还没有正式发布(或者它已经在 npm 中了)。我建议您坚持使用 Socket.IO 的“稳定”版本。

如果你因为新的 engine.io 传输系统而想使用 Socket.IO 1.0,我建议你看看 Primus https://github.com/primus/primus它使用通用接口(interface)和插件系统包装 socket.io、engine.io、sockjs 等。您可以使用此插件系统通过使用 engine.io 转换器和一些插件轻松构建您自己的 Socket.IO 1.0。这是一个例子 https://gist.github.com/3rd-Eden/6113494使用 Primus + Engine.IO 创建 Socket.IO 的工作克隆

关于javascript - 我在哪里可以找到 socket.io 1.0 的工作示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890395/

相关文章:

node.js - 使用 Bot Framework 记录 Node.js-Azure 应用程序

node.js - 在带有 npm 的 Lambda 函数中使用 AWS Cognito

javascript - ejs/node.js 中的字符串连接错误

javascript - 平均堆栈 :ReferenceError:

node.js - Node Express 中的静态路由

javascript - Node escpos LIBUSB_ERROR_NOT_SUPPORTED

javascript - 如何在 Jest 中模拟 Mongoose 'find()' 函数?

javascript - 第二次单击时它会关闭 DIV,为什么?

javascript - JQuery:根据正文中的类更改页面上的图像

javascript - .html 有效,但文本在 ajax 请求后不显示