Delphi & WebSocket

WebSocket è una tecnologia che permette un interazione bidirezionale tra server e client, mi direte, nulla di nuovo con una connessione socket degli anni 90 facevamo la stessa cosa. Vero!!!
La cosa che però rende questa tecnologia molto vantaggiosa è che per prima cosa, implementa degli standard nei protocolli di trasmissione e fruizione dei dati ma principalmente può essere integrata in un applicazione Web in maniera sempicissima utilizzando Javascript, JQuery o un qualsiasi framework JS.
Per comprendere l’utilizzo e la facilità di implementazione via JS dei webSocket è sufficiente guardare il tutorial di mozzila a questo link https://developer.mozilla.org/it/docs/WebSockets/Writing_WebSocket_client_applications
Di seguito uno splendido video di esempio su come implementare i webSoket pubblicato Stas Piter
Molto interessante è anche l’articolo di Jon L. Aasenden : Writing a Delphi WebSocket server and Smart Mobile Client in 15 minutes
Tra le varie soluzioni per implementare i webSoket è da notare quella fornita dalla società esegece che fornisce un supporto commerciale per questo tipo di implementazioni con Delphi.
Una cosa interessante è la possibilità di poter simulare un comportamento simile ad MQTT semplicamente giocando sulla url di richiesta:
1 2 3 4 5 6 7 8 9 |
ws.onmessage = function(event) { console.log(`[srv message]: ${event.data}`); }; ƒ (event) { console.log(`[srv message]: ${event.data}`); } ws.send("ciao"); undefined VM633:2 [srv message]: Ricevuto: (SID: /mychat/ivan )ciao |
server side:
1 2 3 4 5 6 7 8 |
// https://it.javascript.info/websocket procedure TdmWS.sgcWebSocketServerMessage(Connection: TsgcWSConnection; const Text: string); begin Connection.WriteData('Ricevuto: (SID: ' + Connection.URL + ' )' + Text); end; |