Skip to content

Commit d522c6d

Browse files
Further comments for explanation
1 parent 4a2715a commit d522c6d

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

Client.ts

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
1+
/** Import dependecies */
12
import dgram from 'dgram';
23
import { Buffer } from 'buffer';
4+
35
const socketPort: number = 8080;
6+
const message = Buffer.from('UDP CONNETION DATA');
47

8+
/** Initialise UDP Socket */
59
const client = dgram.createSocket('udp4');
6-
const message = Buffer.from('UDP IOT CONNETION DATA');
710

8-
/** Listen and handle all incoming messages */
11+
/** Listen and handle incoming messages from Server */
912
client.on('message', (msg, info) => {
1013
console.log(`Data received from server: ${msg.toString()}`);
1114
console.log(`Received ${msg.length} bytes from ${info.address}:${info.port}\n`);
1215
});
1316

14-
client.on('listening', function () {
15-
var address = client.address();
16-
console.log('UDP Client listening on ' + address.address + ":" + address.port);
17-
client.setBroadcast(true);
18-
});
19-
2017
/** Send message to Server */
2118
client.send(message, socketPort, 'localhost', (err) => {
2219
if (err) {
@@ -27,16 +24,21 @@ client.send(message, socketPort, 'localhost', (err) => {
2724
}
2825
});
2926

30-
let intervalCount: number = 0;
31-
function sendMessage() {
32-
client.send(Buffer.from(`Connection number ${intervalCount}`), socketPort, 'localhost', (err) => {
33-
if (err) {
34-
console.log('Error sending data to Server')
35-
client.close();
36-
} else {
37-
console.log('Data sent to Server')
38-
}
39-
});
40-
}
4127

42-
// setInterval(sendMessage, 5000);
28+
/**
29+
* Send a message to the Server in an interval of every 5 seconds
30+
* Enable this option by uncommenting
31+
*/
32+
33+
// let intervalCount: number = 0;
34+
// function sendMessage() {
35+
// client.send(Buffer.from(`Connection number ${intervalCount}`), socketPort, 'localhost', (err) => {
36+
// if (err) {
37+
// console.log('Error sending data to Server')
38+
// client.close();
39+
// } else {
40+
// console.log('Data sent to Server')
41+
// }
42+
// });
43+
// }
44+
// setInterval(sendMessage, 5000);

Server.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
/** Import dependecies */
13
import dgram from "dgram";
24
import express, { Application, Request, Response } from "express";
35
import * as readline from "readline";
@@ -20,7 +22,7 @@ Server.on('error', (err) => {
2022
Server.close();
2123
});
2224

23-
/** Setup readline */
25+
/** Setup readline functionalities */
2426
const rl = readline.createInterface({
2527
input: process.stdin,
2628
output: process.stdout
@@ -42,7 +44,7 @@ async function handleServerInput() {
4244
}
4345

4446

45-
/** Receive Messages */
47+
/** Receive Messages from Client */
4648
let messagesCount = 0;
4749
Server.on('message', (msg, rinfo) => {
4850
console.log(`Server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
@@ -62,7 +64,7 @@ Server.on('message', (msg, rinfo) => {
6264
});
6365

6466

65-
/** Periodically Broadcast Information from Server to all Clients */
67+
/** Broadcast Information from Server to all Clients */
6668
interface Client {
6769
address: string;
6870
port: number;
@@ -103,7 +105,7 @@ try {
103105
});
104106

105107
Server.bind(socketPort, (): void => {
106-
handleServerInput(); // used for broadcasting messages to Clients
108+
handleServerInput(); // used to read IO from CLI and broadcast the message to Clients
107109
console.log(`UDP Datagram Server is active at http://localhost:${socketPort}`);
108110
});
109111

0 commit comments

Comments
 (0)