TsgcWebSocketServer_HTTPAPI

L'API HTTP Server consente alle applicazioni di comunicare tramite HTTP senza utilizzare Microsoft Internet Information Server (IIS).

Introduzione

L'API HTTP Server consente alle applicazioni di comunicare tramite HTTP senza utilizzare Microsoft Internet Information Server (IIS). Le applicazioni possono registrarsi per ricevere richieste HTTP per URL specifici, ricevere richieste WebSocket e inviare risposte WebSocket. L'API HTTP Server include il supporto SSL affinché le applicazioni possano scambiare dati su connessioni HTTP sicure senza IIS. È inoltre progettata per funzionare con le porte di completamento I/O.

 

Il server supporta i seguenti protocolli:

 

 

Per impostazione predefinita, questo componente richiede che l'applicazione venga eseguita in modalità Amministratore per la registrazione degli URL. Se l'URL è già stato registrato con uno strumento esterno come netsh, è possibile eseguire senza diritti di amministratore: disabilitare la proprietà BindingOptions.ConfigureSSLCertificate per consentire l'avvio dell'applicazione senza diritti di amministratore.

Impostare FastMM4/FastMM5 come prima unità del proprio progetto.

 

Segua i passi seguenti per configurare questo componente:

 

1. Inserire nel form un componente TsgcWebSocketServer_HTTPAPI

 

2. Definire l'indirizzo e la porta di ascolto:

 


    Server.Host := '127.0.0.1';
    Server.Port := 80;

 

3. Impostare le specifiche consentite; per impostazione predefinita, tutte le specifiche sono consentite.

 

RFC6455: è la specifica WebSocket standard e raccomandata.

 

Hixie76: è una bozza ed è consigliato stabilire connessioni Hixie76 solo se si desidera fornire supporto per browser obsoleti come Safari 4.2

 

5. Creare una procedura e impostare la proprietà Active = true

 

Prenotazione URL

Il server HTTP.SYS utilizza la prenotazione degli URL per assegnare quali endpoint URL verranno utilizzati dal server HTTP.SYS.

 

Prenotazione URL di base

 

Questa è la modalità più semplice per configurare il Server: è sufficiente impostare l'Host e la Porta che il server HTTP.SYS gestirà.

Esempio: se il server è in esecuzione sull'IP 127.0.0.1 e sulla Porta 80, impostare le seguenti proprietà


    Server.Host := '127.0.0.1';
    Server.Port := 80;

 

Se il server è in esecuzione su più di un IP e si desidera associarsi a più IP, utilizzare il metodo NewBinding. Per prima cosa azzerare le proprietà Host e Bindings, quindi utilizzare il metodo NewBinding per definire tutti i Binding del Server.


    Server.Host := '';
    Server.Bindings.Clear;
    Server.Bindings.NewBinding('127.0.0.1', 80, '');
    Server.Bindings.NewBinding('80.50.55.11', 80, '');

Se il server richiede connessioni SSL, eseguire le seguenti operazioni per definire l'Host e la Porta che verranno utilizzati per gestire le connessioni SSL.


    Server.Host := '127.0.0.1';
    Server.Port := 443;
    Server.SSL := True;
    Server.SSLOptions.Hash := 'CERTIFICATE_HASH';

Se il server richiede connessioni SSL con più indirizzi IP, prima cancellare la proprietà Host e Bindings, quindi registrare i nuovi Bindings.


    Server.Host := '';
    Server.Bindings.Clear;
    Server.Bindings.NewBinding('127.0.0.1', 443, '', true, 'CERTIFICATE_HASH1');
    Server.Bindings.NewBinding('80.50.55.11', 443, '', true, 'CERTIFICATE_HASH2');

Riferimento

Guide