server updates
This commit is contained in:
parent
80a7c81911
commit
63208cd293
5 changed files with 49 additions and 43 deletions
|
@ -1,8 +1,9 @@
|
||||||
Renderer = new Render("canvas", "./assets/map/map7_recadr.png");
|
Renderer = new Render("canvas", "./assets/map/map7_recadr.png");
|
||||||
Inp = new Input("canvas");
|
Inp = new Input("canvas");
|
||||||
let Net = new Network("ws://129.151.227.50:9600/");
|
let Net = new Network("ws://129.151.227.50:9600/");
|
||||||
Net.connect();
|
|
||||||
|
|
||||||
|
|
||||||
|
let playerId; //id of client player
|
||||||
let players = [new Player(1, 100, 50, "rubiks"),
|
let players = [new Player(1, 100, 50, "rubiks"),
|
||||||
new Player(2, 500, 70, "atsuyo"),
|
new Player(2, 500, 70, "atsuyo"),
|
||||||
new Player(3, 600, 70, "vincent"),
|
new Player(3, 600, 70, "vincent"),
|
||||||
|
@ -10,6 +11,10 @@ let players = [new Player(1, 100, 50, "rubiks"),
|
||||||
new Player(5, 200, 30, "leroux"),
|
new Player(5, 200, 30, "leroux"),
|
||||||
new Player(6, 700, 700, "lele")];
|
new Player(6, 700, 700, "lele")];
|
||||||
|
|
||||||
|
|
||||||
|
Net.connect(); //connect to server, create a player, and retrieve all players info
|
||||||
|
|
||||||
|
|
||||||
players[0].retrieveServerInfo(1,100,50,3);
|
players[0].retrieveServerInfo(1,100,50,3);
|
||||||
players[1].dir=5;
|
players[1].dir=5;
|
||||||
players[1].visibleDir=5;
|
players[1].visibleDir=5;
|
||||||
|
|
|
@ -27,16 +27,11 @@ class Network{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
init(){
|
|
||||||
this.socket.send(JSON.stringify({type: "connect"}));
|
|
||||||
}
|
|
||||||
|
|
||||||
connect(){
|
connect(){
|
||||||
this.socket = new WebSocket(this.adress);
|
this.socket = new WebSocket(this.adress);
|
||||||
this.socket.addEventListener('open', (e)=>{
|
this.socket.addEventListener('open', (e)=>{
|
||||||
//connected to server
|
//connected to server
|
||||||
this.connected = true;
|
this.connected = true;
|
||||||
this.init();
|
|
||||||
});
|
});
|
||||||
this.socket.addEventListener('message', (e)=>{
|
this.socket.addEventListener('message', (e)=>{
|
||||||
this.message(JSON.parse(e.data));
|
this.message(JSON.parse(e.data));
|
||||||
|
|
2
server/node_modules/.package-lock.json
generated
vendored
2
server/node_modules/.package-lock.json
generated
vendored
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "gtavi",
|
"name": "gtavi",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"node_modules/@socket.io/component-emitter": {
|
"node_modules/@socket.io/component-emitter": {
|
||||||
|
|
|
@ -14,20 +14,13 @@ app.get('/', (req, res) => {
|
||||||
res.send('Grand Tabernacle Auto VI');
|
res.send('Grand Tabernacle Auto VI');
|
||||||
});
|
});
|
||||||
|
|
||||||
wss.on('connection', (socket) => {
|
function createNewPlayer(socket){
|
||||||
connections.add(socket);
|
|
||||||
|
|
||||||
socket.on('message', (message) => {
|
|
||||||
message = JSON.parse(message);
|
|
||||||
if (message.type == "connect") {
|
|
||||||
var obj = {
|
var obj = {
|
||||||
id: playerCount,
|
id: playerCount,
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
name: playerCount.toString() + "joueur"
|
name: playerCount.toString() + "joueur"
|
||||||
}
|
}
|
||||||
players.push(obj)
|
|
||||||
playerCount++;
|
|
||||||
|
|
||||||
socket.send(JSON.stringify({
|
socket.send(JSON.stringify({
|
||||||
type: "connect",
|
type: "connect",
|
||||||
|
@ -40,24 +33,40 @@ wss.on('connection', (socket) => {
|
||||||
broadcast(JSON.stringify({
|
broadcast(JSON.stringify({
|
||||||
type: "newplayer",
|
type: "newplayer",
|
||||||
data: obj
|
data: obj
|
||||||
}));
|
}), obj.id);
|
||||||
|
|
||||||
|
socket.id = obj.id;
|
||||||
|
connections.add(socket);
|
||||||
|
players.push(obj);
|
||||||
|
playerCount++;
|
||||||
|
}
|
||||||
|
|
||||||
} else if (message.type == "ping") {
|
wss.on('connection', (socket) => {
|
||||||
|
//create new player, send informations to new player and broadcast new player for all
|
||||||
|
createNewPlayer(socket);
|
||||||
|
|
||||||
|
socket.on('message', (message) => {
|
||||||
|
message = JSON.parse(message);
|
||||||
|
if (message.type == "ping") {
|
||||||
socket.send("pong");
|
socket.send("pong");
|
||||||
} else {
|
} else if(message.type=="update") {
|
||||||
broadcast(JSON.stringify(message));
|
broadcast(JSON.stringify(message), socket.id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('close', () => {
|
socket.on('close', () => {
|
||||||
|
for (var i = players.length - 1; i >= 0; i--) {
|
||||||
|
if(players[i].id==socket.id){
|
||||||
|
players.splice(i, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
connections.delete(socket);
|
connections.delete(socket);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function broadcast(message) {
|
function broadcast(message, exceptId = -1) {
|
||||||
connections.forEach((socket) => {
|
connections.forEach((socket) => {
|
||||||
if (socket.readyState === WebSocket.OPEN) {
|
if (socket.readyState === WebSocket.OPEN && socket.id!=exceptId) {
|
||||||
socket.send(message);
|
socket.send(message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const socket = new WebSocket('ws://129.151.227.50:9600/');
|
const socket = new WebSocket('ws://localhost:9600'); //ws://129.151.227.50:9600
|
||||||
var time = new Date();
|
var time = new Date();
|
||||||
socket.addEventListener('open', (event) => {
|
socket.addEventListener('open', (event) => {
|
||||||
console.log('connecté');
|
console.log('connecté');
|
||||||
|
@ -16,14 +16,11 @@ socket.addEventListener('close', (event) => {
|
||||||
|
|
||||||
function main(){
|
function main(){
|
||||||
time = new Date()
|
time = new Date()
|
||||||
socket.send(JSON.stringify({type: "connect"}));
|
|
||||||
socket.send(JSON.stringify({
|
socket.send(JSON.stringify({
|
||||||
type: "update",
|
type: "update",
|
||||||
data: {
|
data: {
|
||||||
id: 0,
|
ok: 'ok'
|
||||||
x: 0,
|
|
||||||
y: 0
|
|
||||||
}
|
}
|
||||||
}))
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue