May*_*ank 7 websocket node.js express
我有一个为express-ws npm包定义的快速路由器.路由器外观如下:
//ws.js
var express = require('express');
var router = express.Router();
var connections = {};
router.ws('/connect/', function (ws, req) {
// console.log(ws);
ws.on('close', function(x, y, z) {
console.log(a, b, c);
});
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
快递应用程序中的(并非所有)语句是(并按顺序):
//app.js
var app = express();
var expressWs = require('express-ws')(app);
var index = require('./routes/index');
var ws = require('./routes/ws');
...
...
app.use('/ws', ws);
app.use('/*', index);
Run Code Online (Sandbox Code Playgroud)
服务器有如下语句:
//bin/www - Generated by express generator
var app = require('../app');
var debug = require('debug')('server:server');
var http = require('http');
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
var server = http.createServer(app);
server.listen(port);
Run Code Online (Sandbox Code Playgroud)
运行后,我无法/ws通过websocket 连接到路由.我在这里错过了什么吗?有没有更好的方法来创建在Express 4上运行的websocket?
这是我在客户端看到的错误!我究竟做错了什么?
对app.js的更改
var app = express();
var server = require('http').Server(app);
var expressWs = require('express-ws')(app,server);
...
...
//module.exports = app;
module.exports = {app: app,server: server};
Run Code Online (Sandbox Code Playgroud)
更改为bin/www
//var app = require('../app');
var app = require('../app').app;
...
...
//var server = http.createServer(app);
var server = require('../app').server;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |