启动服务器报错,
来源:12-1 【来点实战】STUN_TURN服务器搭建

weixin_慕数据0438359
2022-06-21
‘use strict’
var log4js = require(‘log4js’);
var http = require(‘http’);
var https = require(‘https’);
var fs = require(‘fs’);
var socketIo = require(‘socket.io’);
var express = require(‘express’);
var serveIndex = require(‘serve-index’);
var USERCOUNT = 3;
log4js.configure({
appenders: {
file: {
type: ‘file’,
filename: ‘app.log’,
layout: {
type: ‘pattern’,
pattern: ‘%r %p - %m’,
}
}
},
categories: {
default: {
appenders: [‘file’],
level: ‘debug’
}
}
});
var logger = log4js.getLogger();
var app = express();
app.use(serveIndex(’./public’));
app.use(express.static(’./public’));
//http server
var http_server = http.createServer(app);
http_server.listen(80, ‘0.0.0.0’);
var options = {
key : fs.readFileSync(’./ssl_key/scs1655692919140_www.yqkj8.com_server.key’),
cert : fs.readFileSync(’./ssl_key/scs1655692919140_www.yqkj8.com_server.crt’)
}
//https server
var https_server = https.createServer(options, app);
var io = socketIo.listen(https_server);
io.sockets.on(‘connection’, (socket)=> {
socket.on('message', (room, data)=>{
socket.to(room).emit('message',room, data);
});
socket.on('join', (room)=>{
socket.join(room);
var myRoom = io.sockets.adapter.rooms[room];
var users = (myRoom)? Object.keys(myRoom.sockets).length : 0;
logger.debug('the user number of room is: ' + users);
if(users < USERCOUNT){
socket.emit('joined', room, socket.id); //发给除自己之外的房间内的所有人
if(users > 1){
socket.to(room).emit('otherjoin', room, socket.id);
}
}else{
socket.leave(room);
socket.emit('full', room, socket.id);
}
//socket.emit('joined', room, socket.id); //发给自己
//socket.broadcast.emit('joined', room, socket.id); //发给除自己之外的这个节点上的所有人
//io.in(room).emit('joined', room, socket.id); //发给房间内的所有人
});
socket.on('leave', (room)=>{
var myRoom = io.sockets.adapter.rooms[room];
var users = (myRoom)? Object.keys(myRoom.sockets).length : 0;
logger.debug('the user number of room is: ' + (users-1));
//socket.emit('leaved', room, socket.id);
//socket.broadcast.emit('leaved', room, socket.id);
socket.to(room).emit('bye', room, socket.id);
socket.emit('leaved', room, socket.id);
//io.in(room).emit('leaved', room, socket.id);
});
});
https_server.listen(443, ‘0.0.0.0’);
[root@localhost server]# node server.js
/usr/local/node/server/server.js:52
var io = socketIo.listen(https_server);
^
TypeError: socketIo.listen is not a function
at Object. (/usr/local/node/server/server.js:52:19)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions…js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47
1回答
-
李超
2022-06-21
你用的socket.io 的版本是多少?
042022-06-22
相似问题