Function DE Version 4.60

@IPOpenReceiveSocket

Internet

Syntax

@IPOpenReceiveSocket(SERVER1;PORT2;PROTOCOL3);

Beschreibung

Derzeit nur für Windows verfügbar!!!

Öffnet einen Kommunikationspunkt (Port) für eingehende IP-Verbindungen zu dem Servernamen TEXT SERVER1, unter dem FN PORT2 und dem Protokoll TEXT PROCOTCOL3 und gibt einen IPSOCKET zurück. Der erste Parameter kann auch leer bleiben, wenn auf der ausführenden Maschine nur eine IP-Adresse vergeben wurde. Im Falle von Multi-Homed-Hosts ist allerdings die korrekte IP-Adresse oder der im DNS eingetragene Name zu verwenden. Nach erfolgreichem Aufruf von dieser Funktion können im Falle von UDP Clients diesen Port sofort nutzen und Daten dorthin schicken. Bei TCP muß vorher ein @IPWaitForConnection aufgerufen werden.

PROTOCOL3:
UDP      UDP-Verbindung (Datagramme, verbindungslos, broadcast-fähig, Zustellung nicht gesichert)
TCP      TCP-Verbindung (Stream-Daten, verbindungsorientiert)

Beispiel: @IPOpenReceiveSocket(SERVER1;PORT2;PROTOCOL3);

IPSOCKET1:=@IPOpenReceiveSocket("";80;"TCP");
IF(@GetDataType(IPSOCKET1)="IPS")
{
   LOOP:=1;
   WHILE(LOOP)
   {
      ConSocket:=@IPWaitForConnection(IPSOCKET1;RETIPHOST2);
      IF(@GetDataType(ConSocket)="IPS")
      {
         DataAvailable:=@IPIsDataAvailable(ConSocket);
         @LogReport(DataAvailable);
         ConSocket:=@IPCloseSocket(ConSocket);
      }
      LOOP:=!@TaskShouldStop;
   }
   IPSOCKET1:=@IPCloseSocket(IPSOCKET1);
}

Es wird ein empfangender IPSOCKET geöffnet und auf eingehende Anfragen gewartet
(Bis der Task mit "Tell engine stop X" oder mit "Tell engine e" die engine selbst beendet wird).
Wenn eine Anfrage eingeht wird der neue IPSOCKET ConSocket auf verfügbare Daten abgefragt.
Das Ergebnis dieser Abfrage wird ausgegeben (Variable DataAvailable).
Danach wird der neue IPSOCKET ConSocket wieder geschlossen.
Wenn der Task beendet wird, wird auch der empfangende IPSOCKET IPSOCKET1 wieder geschlossen.