I created a simple TCP server with Node.js (typescript).
This communicates each other TCP server and client.
// src/server.ts
import net from "net";
export class Server {
constructor() {}
runServer() {
const server = net.createServer((socket) => {
console.log("TCP Server: Client connected:", socket.remoteAddress);
// Receive data from the client
socket.on("data", (data) => {
console.log("TCP Server: Receive from client:", data.toString());
// send response
socket.write("Hello client! I got your message: " + data.toString());
// socket.end();
});
socket.on("close", () => console.log("TCP Server: Client disconnected"));
});
server.listen(4000, "127.0.0.1", () => {
console.log("TCP Server: Server listening on 127.0.0.1:4000");
});
}
}
// src/client.ts
import net from "net";
export class Client {
constructor() {}
runClient() {
// Connect to the server
const client = net.createConnection({ host: "127.0.0.1", port: 4000}, () => {
console.log("TCP Client: Connected to server");
// Send message
client.write("Hello server! This is Client!");
});
// Receive data from the server
client.on("data", (data) => {
console.log("TCP Client: Received from server:", data.toString());
client.end();
// client.destroy();
});
// Handle close
client.on("end", () => console.log("TCP Client: disconnected from server"));
}
}
// src/main.ts
import { Client } from "./client";
import { Server } from "./server";
class Main {
constructor() { }
startServer() {
const server = new Server();
server.runServer();
}
startClient() {
const client = new Client();
client.runClient();
}
}
const main = new Main();
main.startServer();
main.startClient();
Top comments (0)