Web Socket API
Web Socket API
Web Socket API permite organizarea unei conexiuni între client și server, prin care clientul și serverul pot trimite date unul altuia în orice moment.
Pentru a crea o conexiune prin Web Socket API se utilizează constructorul WebSocket():
const connection = new WebSocket("ws://example.com/test");
Gestionarea ciclului de viață al conexiunii
Pentru gestionarea conexiunii, sunt definite trei evenimente principale: open, error și close.
const connection = new WebSocket("ws://example.com/test");
connection.onopen = (event) => {
console.log("Connection opened");
};
connection.onerror = (error) => {
console.log(`WebSocket Error: ${error}`);
};
connection.onclose = (event) => {
console.log("Connection closed");
};
Trimiterea datelor către server
connection.onopen = (event) => {
connection.send("Hello FDC.COM");
};
const data = { message: "Hello" };
connection.send(JSON.stringify(data));
Recepția datelor
connection.onmessage = (event) => {
console.log(event.data);
};
connection.binaryType = "arraybuffer";
Închiderea conexiunii
connection.close();
Exemplu de server Node.js
const WebSocket = require("ws");
const server = new WebSocket.Server({ port: 9000 });
server.on("connection", function(client) {
console.log("Connection opened");
client.on("message", function(message) {
console.log("Client message:", message.toString());
client.send("Hello Client");
});
client.on("close", function() {
console.log("Connection closed");
});
});
console.log("Serverul a fost lansat pe portul 9000");
Cod client simplu HTML + JS
const connection = new WebSocket("ws://localhost:9000");
connection.onopen = (event) => {
console.log("Connection opened");
connection.send("Hello Server");
};
connection.onerror = (error) => {
console.log(`WebSocket Error: ${error}`);
};
connection.onclose = (event) => {
console.log("Connection closed");
};
connection.onmessage = (event) => {
console.log("Server response:", event.data);
};