Hilfe

CloseTCPServer

B2D B+ B3D

Aufruf

CloseTCPServer Stream

Parameter

Stream Identität des Servers (ermittelt mit CreateTCPServer)


Rückgabewert

-


Beschreibung

Dieser Befehl schließt einen TCP/IP-Server, der mit CreateTCPServer erstellt wurde. CreateTCPServer liefert einen Wert, der zusammen mit CloseTCPServer benutzt werden muss.
Ein Server wird für Netzwerkverbindungen erstellt, der dann mit Clients kommunizieren kann.


Beispiele

Server

; Beispiel / Demo
;   - CreateTCPServer
;   - OpenTCPStream
;   - AcceptTCPStream
;
; Server
;
; Ausgelegt für lokalen Betrieb mit
; einem Client

Graphics 400,300,0,2
Global Timer = CreateTimer(2)
AppTitle "Server"

; Server eröffnen
Local Stream = CreateTCPServer( 12345 )
Color 160, 160, 160
Print "Server eröffnet"

Local NewClient, ClientStream
Local MsgCount = 1
Local txt$

While Not KeyHit(1)
   ; Client verbinden lassen
   NewClient = AcceptTCPStream( Stream )
   If NewClient
      ClientStream = NewClient
      Color 160, 160, 160
      Print "Client verbunden"
   EndIf
   
   ; Stream auslesen
   If ClientStream
      While ReadAvail( ClientStream )
         ; Empfangene Nachricht ausgeben
         Color 0, 255, 0
         Print CurrentTime() +", Empfange: " +ReadLine( ClientStream )   ; Readline liest den übertragenen Text aus
         ; und antworten
         txt$ = "Antwort Nr. " +MsgCount
         MsgCount = MsgCount +1
         
         WriteLine ClientStream, txt$   ; WriteLine überträgt den Text
         Color 0, 0, 255
         Print CurrentTime() +", Sende: " +txt$
      Wend
   EndIf

   WaitTimer(Timer)
Wend

; Streams schliessen
If ClientStream Then CloseTCPStream( ClientStream )
CloseTCPServer( Stream )
End

Client

; Beispiel / Demo
;   - CreateTCPServer
;   - OpenTCPStream
;   - AcceptTCPStream
;
; Client
;
; Ausgelegt für lokalen Betrieb mit
; einem Client

Graphics 400,300,0,2
Global Timer = CreateTimer(2)
AppTitle "Client"

; Zum Server verbinden
Local Stream = OpenTCPStream( "127.0.0.1", 12345 )
If Not Stream Then RuntimeError "Verbindung konnte nicht hergestellt werden."

Color 160, 160, 160
Print "Verbinde..."

Local MsgCount = 1, MsgSendTime = MilliSecs() +1000
Local txt$

While Not KeyHit(1)
   ; Im Sekundetakt eine Nachricht schreiben
   If MilliSecs() > MsgSendTime
      txt$ = "Nachricht Nr. " +MsgCount
      MsgCount = MsgCount +1

      WriteLine Stream, txt$   ; WriteLine überträgt den Text
      Color 0, 0, 255
      Print CurrentTime() +", Sende: " +txt$

      MsgSendTime = MilliSecs() +1000
   EndIf

   ; Antworten auslesen
   While ReadAvail( Stream )
      ; Empfangene Nachricht ausgeben
      Color 0, 255, 0
      Print CurrentTime() +", Empfange: " +ReadLine( Stream )   ; ReadLine liest den übertragenen Text aus
   Wend
   
   WaitTimer(Timer)
Wend

; Stream schliessen
CloseTCPStream( Stream )
End


Siehe auch

AcceptTCPStream, CloseTCPStream, CloseUDPStream, CreateTCPServer, CreateUDPStream, OpenTCPStream

Übersicht Netzwerk TCP