怎么让 nodejs-websocket 启动的ws服务与http启动的http服务共用一个端口呢?
发布于 6 年前 作者 tomoya92 7238 次预览 最后一次回复是 6 年前 来自 问答
nodejs-websocket 创建服务
var ws = require("nodejs-websocket")
// Scream server example: "hi" -> "HI!!!"
var server = ws.createServer(function (conn) {
console.log("New connection")
conn.on("text", function (str) {
console.log("Received "+str)
conn.sendText(str.toUpperCase()+"!!!")
})
conn.on("close", function (code, reason) {
console.log("Connection closed")
})
}).listen(8001)
http 创建服务
const http = require("http");
const fs = require("fs");
http
.createServer(function(req, res) {
res.writeHead(200, { "Content-Type": "text/html" });
var stream = fs.createReadStream("./index.html");
stream.on("open", function(fd) {
// console.log('开始读取文件');
});
stream.on("data", function(data) {
// console.log('读取到数据:');
// console.log(data.toString());
res.write(data);
});
stream.on("end", function() {
// console.log('文件已全部读取完毕');
res.end();
});
stream.on("close", function() {
// console.log('文件被关闭');
});
stream.on("error", function(err) {
// console.log('读取文件失败');
res.writeHead(500, { "Content-Type": "text/html" });
res.write("500 error");
});
})
.listen(3000);
有办法把这两个端口共用吗?
2 回复
https://www.npmjs.com/package/websocket 用的是这个库
socket.io 可以,不过魔改了 websocket