Hilfe
Parameter
Port | Portnummer, die für eine Kommunikation benutzt werden soll |
Rückgabewert
Identität des Datenstroms, die für weitere Befehle verwendet wird. Falls eine 0 zurückgeliefert wird, dann konnte der Server nicht erstellt werden. Sollte das der Fall sein, liegt es vermutlich an Firewall-Einstellungen oder an anderen Programmen, die eventuell die Netzwerkkommunikation blockieren können.
Beschreibung
Dieser Befehl erstellt einen TCP/IP-Server. Ein Server wird für Kommunikation mit Clients über eine Netzwerkverbindung benötigt. Für diesen Befehl muss man nur die Portnummer angeben, über die die Kommunikation stattfinden soll.
CreateTCPServer liefert einen Wert, der die Identität des Datenstroms angibt. Dieser Wert kann z.B. mit Read/Write-Befehlen verwendet werden. Sollte nur eine 0 zurückgeliefert werden, so konnte kein Server erstellt werden. Mit CloseTCPServer kann eine Verbindung wieder geschlossen 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
AcceptTCPStream, CloseTCPServer, CloseTCPStream, CloseUDPStream, CreateUDPStream, OpenTCPStream

