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