如何在不同的端口上运行websocket和客户端

时间:2018-04-16 07:00:31

标签: node.js socket.io ports

我有以下客户端(提供聊天界面)和websocket,它们通过http连接。 Http目前在端口8080上运行。所以我想在一个端口上运行客户端,在另一个端口上运行websocket,但如果我通过http断开它们,当然websocket不能在客户端上运行。

那么有没有办法在不同的端口上运行它们,但仍然通过http连接它们?

服务器:

var express = require('express');
var app = express()
app.use(express.static(__dirname + '/public'));
var http = require('http').Server(app);
var io = require('socket.io')(http);
var fs = require('fs')
var port = 8080;

/************************************************ */
if (process.argv.indexOf('--port') >= 0) {
    port = process.argv[process.argv.indexOf('--port') + 1]
}

/************************************************ **/
var sIndexHtmlTemplate = fs.readFileSync(__dirname + '/index1.html', 'utf8');

/************************************************ ***/
io.on('connection', function (socket) {
    console.log('a user connected');
    socket.on('disconnect', function () {
        console.log('user disconnected');
    });
});

io.on('connection', function (socket) {
    socket.on('chat message', function (msg) {
        console.log('message: ' + msg);
        io.emit('chat message', msg);
    });
});

/************************************************ ***/

http.listen(port, function () {
    console.log('listening on *' + port);
});

0 个答案:

没有答案