BERemoteServerStart()
BERemoteServerStart() – BE Remote-Client
Eine BE-Applikation wird als Server-Exe aktiviert.
Die Funktionen BeRemoteServerStart( nPortNr ), BeRemoteServerStop( nPortNr ), BeRemoteClientStart( cRemoteHost, nRemotePort ), BeRemoteClientStop( cRemoteHost, nRemotePort ), BeRemoteExecute( cRemoteHost, nRemotePort, cCodeblock, \[lAntw\] ) dienen zum Ausführen eines Codeblocks auf einem entfernten Rechner (oder einfach einer anderen BE-Instanz).
Als "Server-Exe" wird die Exe verstanden, auf der ein BeRemoteServerStart() ausgeführt wurde.
Die Client-Exe muss die IP-Adresse oder den Namen des PC, sowie den Port der Server-Exe kennen (sprich: als Parameter in den entsprechenden Funktionen übergeben bekommen).
Zum Ablauf: Eine BE-Applikation wird als Server-Exe aktiviert (durch Aufruf von BeRemoteServerStart()). Die Server-Exe wartet jetzt im Hintergrund auf den Empfang einer Sendung einer Client-Exe.
Eine BE-Applikation wird als Client-Exe aktiviert (durch Aufruf von BeRemoteClientStart()). Die Aktivierung ist nur möglich, wenn die Server-Exe bereits aktiviert wurde! Die Client-Exe ist jetzt bereit einen Codeblock durch Aufruf von BeRemoteExecute() an die Server-Exe zu senden.
Kommt eine Sendung bei der Server-Exe an, wird der gesendete Codeblock sofort ausgeführt und das Ergebnis als Antwort ggf. zurückgesendet (falls lAntw = True).
Die Client-Exe wartet max. nTimeOut Sekunden (0 = unbegrenzt) auf die Antwort der Server-Exe.
Zu beachten: Die Kommunikation erfolgt über IP.
Die gemeinsame Port-Nr. dient zur gegenseitigen Identifizierung der Exen. Die Port-Nr. sollte in einem Bereich zwischen 50000 und 64000 liegen, um Konflikte mit der BE-Funkscanner-Kommunikation zu vermeiden.
Eine BE-Applikation kann gleichzeitig als Server- und Client-Exe aktiviert werden. Server- und Client-Exe können sich auf dem gleichen PC befinden (müssen sie aber nicht).
Parameter | Beschreibung |
---|---|
nRemotePort:N | Port-Nr. auf dem die Server-Exe "horchen" soll |
Rückgabewert
Keiner
Beispiel
startseq,
BeRemoteServerStart(55300),
onerror,
WriteLn('ERROR: ' + GetErrortext()),
stopseq,