private async getUserMedia(video:Object | boolean, audio:boolean): Promise<any> {
return await navigator.mediaDevices.getUserMedia({video, audio}).then(stream => {
this.mediaStream = stream;
return stream;
});
}
public async create(video:Object | boolean, audio:boolean): Promise<any> {
return this.getUserMedia(video, audio).catch(_ => {
return this.getUserMedia(video, false).catch(_ => {
this.mediaStream = undefined;
return this.getUserMedia(false, audio).catch(_ => {
this.mediaStream = new MediaStream();
});
});
});
}
const io = require('socket.io');
let players = {};
io.on('connection', function(socket) {
socket.on('new player', function() {
players[socket.id] = {
x: 300,
y: 300
};
});
socket.on('movement', function(data) {
var player = players[socket.id] || {};
if (data.left) {
player.x -= 5;
}
if (data.up) {
player.y -= 5;
}
if (data.right) {
player.x += 5;
}
if (data.down) {
player.y += 5;
}
});
});
setInterval(function() {
io.sockets.emit('state', players);
}, 1000 / 60);
const express = require("express");
const app = express();
server = app.listen(11050, function () {
console.log("server is running on port 11050");
});
const io = require("socket.io")(server);
io.on("connection", (socket) => {
console.log("Users component is connected");
socket.on("disconnect", () => {
console.log("Users component was disconnected");
});
setInterval(() => {
socket.emit("newNumber", generateRandomNumber());
}, 1000);
});
function generateRandomNumber() {
let number = Math.floor(Math.random() * 100);
const dateTime = new Date().getTime();
let item = {
x: dateTime,
y: number,
};
return item;
}
module.exports = { io };
const { io } = require('путь_к_файлу_донору');
io.on('connection', (socket) => {
// Логика текущего роута
})
$.getJSON('https://api.ipify.org?format=json', function(data){
socket.emit('banned',data.ip);
});
socket.on('banned', function(data) {
var ban = 'user.ip';
if(data == ban) {
io.emit('ban', 'Вы забанены!');
socket.disconnect(true);
}
});
connections+=1;
if(connections > max_connections) {
connections-=1;
socket.on('forceDisconnect', () => {
socket.disconnect(true);
console.log('Server full!');
});
}
socket.on( 'disconnect', () => {
connections -= 1;
console.log( 'client disconnected' ) ;
});