启动服务器报错,

来源: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 的版本是多少?

0
4
李超
回复
weixin_慕数据0438359
这个警告应该没啥影响
2022-06-22
共4条回复

5G时代必备音视频WebRTC实时互动直播技术入门与实战

低门槛掌握WebRTC技术,高效率快速构建一套音视频实时互动系统

2541 学习 · 728 问题

查看课程