Hilfe
Parameter
stream |
Identität des Streams (ermittelt mit CreateTCPServer![]() |
Rückgabewert
Diese Funktion liefert die Identität eines Input-Streams. Es enthält empfangene Daten.
Beschreibung
Diese Funktion prüft, ob eine neue TCP/IP-Verbindung zu einem Serverprogramm aufgebaut wurde (also wenn sich jemand mit deinem Computer verbindet). Falls ja, dann wird die Identität eines Streams zurückgeliefert (ungleich Null). Der Parameter "Stream" kann nur mit CreateTCPServer ermittelt werden.
Beispiele
Server
; - 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
; - 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

