fb:porticula NoPaste
15.1: Einfacher Netzwerk-Server
Uploader: | nemored |
Datum/Zeit: | 29.10.2011 01:04:06 |
Hinweis: Dieser Quelltext ist Bestandteil des Projekts OpenBook: 2D-Spieleprogrammierung, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.
' *** CODE 15.1: Einfacher Netzwerk-Server
#INCLUDE "TSNE_V3.bi"
SUB Verbunden(BYVAL id AS UINTEGER)
PRINT "Client " & id & " wurde verbunden."
END SUB
SUB Getrennt(BYVAL id AS UINTEGER)
PRINT "Client " & id & " wurde getrennt."
END SUB
SUB NeueDaten(BYVAL id AS UINTEGER, BYREF daten AS STRING)
PRINT "Neue Daten von Client " & id & ": " & daten
END SUB
SUB Verbindung(BYVAL id AS UINTEGER, BYVAL req AS Socket, BYVAL ipa AS STRING)
' wenn versucht wird, eine neue Verbindung herzustellen
PRINT "Ein Client versucht zu verbinden"
DIM TSNEID AS UINTEGER
DIM returnIPA AS STRING
'Akzeptieren der Verbindung
TSNE_Create_Accept req, TSNEID, returnIPA, @Getrennt, @Verbunden, @NeueDaten
END SUB
SUB Verbindungsabbruch(BYVAL id AS UINTEGER, BYVAL ipa AS STRING)
'Verhalten, wenn die Verbindung abgelehnt wird
PRINT "Verbindung wurde abgelehnt"
END SUB
' Server erstellen
DIM bv as INTEGER, Server AS UINTEGER
bv = TSNE_Create_Server(Server, 1100, 10, @Verbindung, @Verbindungsabbruch)
IF bv <> TSNE_Const_NoError THEN PRINT "Server-Fehler: " & BV : END
DO : SLEEP 1 : LOOP UNTIL INKEY <> "" ' jetzt wird gewartet ...
TSNE_Disconnect(Server) ' Server beenden
TSNE_WaitClose(Server) ' warten bis Server beendet ist