The dgram.createSocket() method is an inbuilt application programming interface within dgram module which is used to create the dgram.socket object.
Syntax:
const dgram.createSocket(options[, callback])
Parameters: This method takes the following parameter:
- options: It will use one of the following options-
- type: The family of sockets.
- reuseAddr: Boolean value if the address has been reused.
- ipv6Only: Setting ipv6Only to true will disable dual-stack support.
- recvBufferSize: Sets the SO_RCVBUF socket value.
- sendBufferSize: Sets the SO_SNDBUF socket value.
- lookup: Custom lookup function.
- callback: callback function for further operation.
Return Value: This method returns the object of dgram.socket.
Example 1: In this example, we will see the use of dgram.createSocket() Method
Filename: index.js
// Node.js program to demonstrate the
// dgram.createSocket() method
// importing dgram module
const dgram = require('dgram');
// Creating and initializing client
// and server socket by using
// createSocket() method
let client = dgram.createSocket("udp4");
let server = dgram.createSocket("udp4");
// Catching the message event
server.on("message", function (msg) {
// Displaying the client message
process.stdout.write("UDP String: " + msg + "\n");
// Exiting process
process.exit();
})
// Binding server with port
.bind(1234, () => {
// Setting the Send buffer size
// by using setSendBufferSize() method
server.setSendBufferSize(12345);
// Getting the receive buffer size
// by using getSendBufferSize() method
const size = server.getSendBufferSize();
// Display the result
console.log(size);
});
// Client sending message to server
client.send("Hello", 0, 7, 1234, "localhost");
Output:
12345 UDP String: Hello
Example 2: In this example, we will see the use of dgram.createSocket() Method
Filename: index.js
// Node.js program to demonstrate the
// dgram.createSocket() method
// Importing dgram module
const dgram = require('dgram');
// Creating and initializing client
// and server socket by using
// createSocket() method
let client = dgram.createSocket("udp4", () => {
console.log("client is created");
});
let server = dgram.createSocket("udp4", () => {
console.log("server is created");
});
// Catching the message event
server.on("message", function (msg) {
// Displaying the client message
process.stdout.write("UDP String: " + msg + "\n");
// Exiting process
process.exit();
});
// Catching the listening event
server.on('listening', () => {
// Getting address information
// for the server
const address = server.address();
// Display the result
console.log(`server listening
${address.address}:${address.port}`);
});
// Binding server with port address
// by using bind() method
server.bind(1234, () => {
// Setting the Send buffer size
// by using setSendBufferSize() method
server.setSendBufferSize(1234567);
// Getting the Send buffer size
// by using getSendBufferSize() method
const size = server.getSendBufferSize();
// Display the result
console.log(size);
});
// Client sending message to server
client.send("Hello", 0, 7, 1234, "localhost");
Output:
server listening 0.0.0.0:1234 1234567 server is created UDP String: Hello
Run the index.js file using the following command:
node index.js
Reference: https://nodejs.org/dist/latest-v12.x/docs/api/dgram.html#dgram_dgram_createsocket_options_callback