W&T collega
Adattatori per TCP/IP, Ethernet, RS-232, RS-485, USB, 20 mA, Fibra ottica di vetro e plastica, http, SNMP, OPC, Modbus TCP, I/O digitale, I/O analogico, ISA, PCI

Applicazione relativa al Com-Server seriale:

Con 30 righe attraverso la rete: socket TCP/IP come interfaccia di programmazione


Con l’API socket (ad es. Winsock in ambiente Windows o socket Berkely in ambiente UNIX) è possibile realizzare le più diverse applicazioni all’interno del vostro software. L’API offre l’intera funzionalità per il trasporto dei dati attraverso la rete.

Una delle possibilità più semplici per creare collegamenti attraverso la rete è offerta da Microsoft Visual Basic a partire dalla versione 5.0. Anche se non possedete spiccate conoscenze di rete, potete trasmettere i vostri dati attraverso la rete; qui trovate il nostro piccolo programma esempio. Ossia: 30 righe di testo sorgente e i nostri piccoli adattatori sono già sufficienti per trasmettere dati seriali attraverso la LAN/WAN.

socket TCP/IP

La programmazione di questa API risulta persino meno complicata delle abituali chiamate di funzione per il collegamento di una porta COM, poiché l’intera complessità dei meccanismi di rete è racchiusa nell’interfaccia socket.

Le frecce trasversali chiariscono l’interazione dei programmi client e server. Naturalmente dovrete soltanto implementare un programma, in base alla modalità (client o server) in cui viene fatto funzionare il Com-Server.

Server o Client?

Fatto funzionare come client TCP, il Com-Server è in grado persino di aprire un collegamento, se devono essere trasmessi dati, e di chiuderlo, se non vi sono più dati. Se nessun collegamento con un altro server è attivo, può anche accettare collegamenti come server stesso.

Per fare funzionare il Com-Server come server TCP, non è necessario alcun tipo di impostazione. L’intero collegamento viene controllato qui dal vostro processo client, ossia aprite e chiudete il collegamento. Se è stato creato un collegamento, possono essere scambiati dati tra i due processi. Il Com-Server emette i dati dalla rete all’interfaccia seriale o alle porte I/O e legge al contrario tutti i dati dall’interfaccia seriale o dalle porte I/O per trasmetterli al processo client.

TCP o UDP?

TCP è un protocollo orientato al collegamento; durante la trasmissione dei dati esiste un collegamento logico fisso tra client e server. TCP dispone di tutti i meccanismi che sono necessari per aprire un collegamento, assicurare un trasferimento dei dati privo di errori attraverso la rete e chiudere di nuovo il collegamento. A tale scopo lo stack di protocollo crea e gestisce buffer propri per ogni collegamento. Se devono essere attivati numerosissimi Com-Server contemporaneamente a partire da un computer, in caso estremo possono essere raggiunti i limiti della memoria.

Al contrario, l’UDP non dispone di meccanismi per ripetere pacchetti di dati o verificare la loro completezza. Il trasferimento dei dati con UDP è consigliabile, se un protocollo superiore tra il terminale sul Com-Server e l’applicazione sulla stazione TCP/IP garantisce comunque una trasmissione priva di errori oppure se devono essere attivati contemporaneamente numerosissimi utenti di rete.

I casi speciali (a volte importanti)

Per gli utenti che utilizzano le possibilità della programmazione socket, il Com-Server con le sue porte di controllo e di servizio offre ulteriori funzioni che possono essere attivate parallelamente al trasferimento dei dati sotto forma di processi del server. In tal modo potete eseguire ad esempio la teleconfigurazione e la telemanutenzione dell’apparecchio; informazioni più precise in merito a questo argomento sono riportate nella parte 6 del manuale del Com-Server.

All’esempio pratico

Informazioni di base: programmazione socket