Last active
September 22, 2021 09:06
-
-
Save ryanjon2040/f29787b866316357016971b9c9c363bb to your computer and use it in GitHub Desktop.
Node.js udp server example http://wp.me/p2fInN-tA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// port to listen to | |
var PORT = xxxxx; // Change to your port number | |
// x's should be replaced with your EC2 private ip | |
var HOST = 'ip-xxx-xx-xx-xxx.your-region.compute.internal'; | |
// Load datagram module | |
var dgram = require('dgram'); | |
// Create a new instance of dgram socket | |
var server = dgram.createSocket('udp4'); | |
/** | |
Once the server is created and binded, some events are automatically created. | |
We just bind our custom functions to those events so we can do whatever we want. | |
*/ | |
// Listening event. This event will tell the server to listen on the given address. | |
server.on('listening', function () { | |
var address = server.address(); | |
console.log('UDP Server listening on ' + address.address + ":" + address.port); | |
}); | |
// Message event. This event is automatically executed when this server receives a new message | |
// That means, when we use FUDPPing::UDPEcho in Unreal Engine 4 this event will trigger. | |
server.on('message', function (message, remote) { | |
console.log('Message received from ' + remote.address + ':' + remote.port +' - ' + message.toString()); | |
server.send(message, 0, message.length, remote.port, remote.address, function(err, bytes) { | |
if (err) throw err; | |
console.log('UDP message sent to ' + remote.address +':'+ remote.port + '\n'); | |
}); | |
}); | |
// Error event. Something bad happened. Prints out error stack and closes the server. | |
server.on('error', (err) => { | |
console.log(`server error:\n${err.stack}`); | |
server.close(); | |
}); | |
// Finally bind our server to the given port and host so that listening event starts happening. | |
server.bind(PORT, HOST); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment