30 June
Skeleton Node.js Websocket Server Code
// Importing the required modules
const WebSocketServer = require('ws');
// Creating a new websocket server
const wss = new WebSocketServer.Server({ port: 3000 })
wss.on("connection", ws => {
//code that should execute just after the player connects
//when the client sends us a message
ws.on("message", data => {
console.log(`Client has sent us: ${data}`);
})
// handling what to do when clients disconnects from server
ws.on("close", () => { })
// handling client connection error
ws.onerror = function () {
console.log("Some Error occurred");
}
});
console.log("The WebSocket server is running");
Getting the player to connect
//GML Create event of oPlayer
socket = network_create_socket(network_socket_ws);
network_connect_raw_async(socket , "localhost" , 3000);
Skeleton Async Networking Event Code
switch(async_load[?"type"]){
case network_type_non_blocking_connect:
//code that executes when we have connected
//tell the server to create a player for us
var Buffer = buffer_create(1, buffer_grow ,1);
var data = ds_map_create();
//ASK THE SERVER TO CREATE A PLAYER FOR US
buffer_write(Buffer , buffer_text , json_encode(data));
network_send_raw(socket , Buffer , buffer_tell(Buffer));
ds_map_destroy(data);
break;
case network_type_data:
var buffer_raw = async_load[? "buffer"];
var buffer_processed = buffer_read(buffer_raw , buffer_text);
var realData = json_decode(buffer_processed);
var eventName = realData[?"eventName"];
switch(eventName){
case "created_you":
//DO SOMETHING
break;
}
break;
}
31 June