Seite 1 von 2

Client - Vorlage

Verfasst: 14.06.2009 14:39
von Jume
Guten Tag liebe Leute,

bin ein blutiger Anfänger und hätte ein paar Fragen zu dem Clienten. Für die, die es nicht wissen:

Das ist aus dem Archiv auf Purearea.net.

Code: Alles auswählen

InitNetwork() 
If ExamineIPAddresses() 
  IP.l = NextIPAddress() 
EndIf 
*buffer = AllocateMemory(2000) 
If CreateNetworkServer(0, 6654) 
  OpenConsole() 
  PrintN("Server Online Listening on IP (" + IPString(IP) + ")") 
  Repeat 
    Select NetworkServerEvent() 
      Case 0 
        If Left(Inkey(), 1) = Chr(13) 
          Quit = 1 
        EndIf 
        Delay(5) 
      Case 1 
        PrintN("Ein neuer Client hat Connectet") 
        ClientID.l = EventClient() 
      Case 2 
        length.l = ReceiveNetworkData(ClientID, *buffer, 2000) 
        String$ = PeekS(*buffer, 2000) 
        PrintN("Received:" + String$) 
    EndSelect  
  Until Quit = 1 
EndIf 
FreeMemory(*buffer) 
Select NetworkServerEvent()
Case 0
If Left(Inkey(), 1) = Chr(13)
Quit = 1
EndIf
Was genau bedeutet das If Left(Inkey(),1) = Chr(13) ?

Was macht es bzw. ich kann es mir vorstellen, es reagiert auf Text den ein Client an den Server schickt. Ich bräuchte jedoch eine Erklärung was genau dabei passiert.

Hoffe ihr könnt oder wollt mit helfen.

Lieber Gruß

Julian

Verfasst: 14.06.2009 14:55
von Kaeru Gaman
o hai! :D
Willkommen an Board!

also, Inkey() ist die Funktion, die einen Tastendruck von der Console holt.
Chr(13) ist CarriageReturn, also die ENTER-Taste.

.... das hätte dir aber auch alles deine Help verraten können,
du brauchst nur mit dem Cursor auf einen Befehl gehen, und dann F1 drücken.

es hat also überhaupt nix mit der client-server geschichte zu tun,
es prüft nur ne taste um die console zu beenden.

Verfasst: 14.06.2009 15:28
von Jume
ah vielen dank, verstehe.

könntest du mir dann noch verraten wie das mit dem "erkennen von cliententext" funktioniert?

Verfasst: 14.06.2009 15:34
von Kaeru Gaman
:?: was meinst du?

Verfasst: 14.06.2009 15:38
von mk-soft
Willkommen im Forum,

nicht gleich versuchen etwas mit Netzwerk zu schreiben. Erst mal die Syntax von Purebasic lernen und mit kleinen einfachen schritten anfangen.

- Was sind Variablen.
- Verzweigungen (If ... Else ... EndIf)
- Schleifen (Repeat ... Until, etc)
- und so weiter.

Dann erklären sich viele sachen von selber und man verliert nicht die Lust etwas zu erstellen.

FF :wink:

Verfasst: 14.06.2009 15:49
von Jume
das habe ich bereits. mir ist trotzdem nicht ganz geläufig wo genau der server im script daten empfängt die verarbeitet und wieder ausgibt.

könnte mir das wer erklären. ich rede von folgendem:

Case 2
length.l = ReceiveNetworkData(ClientID, *buffer, 2000)
String$ = PeekS(*buffer, 2000)
PrintN("Received:" + String$)
EndSelect

was genau bedeutet die zweite und dritte zeile.

Verfasst: 14.06.2009 16:11
von Andesdaf
> length.l = ReceiveNetworkData(ClientID, *buffer, 2000)
Wie viele Bytes gelesen wurden, steht in lenght.l. Der *buffer ist 2000 Bytes
groß.

> String$ = PeekS(*buffer, 2000)
Die Daten aus dem Puffer werden auf den String kopiert.

Verfasst: 14.06.2009 16:48
von Jume
ah vielen dank =)

Verfasst: 14.06.2009 16:53
von Andesdaf
als erster Anlaufpunkt bietet sich die von Kaeru erwähnte Hilfe an :wink:

Verfasst: 14.06.2009 17:51
von Jume
Andesdaf hat geschrieben:als erster Anlaufpunkt bietet sich die von Kaeru erwähnte Hilfe an :wink:
habe ich ausprobiert, hat bei mir nicht funktioniert. wenn ich das so mach wie gesagt dann öffnet sich die ganz normale hilfe. und bevor ich da vier stunden suche frag ich doch lieber, warte 20 minuten auf eine antwort und freue mich. ich arbeite schon sehr viel mit der hilfe, habe gesucht und nichts für mich "aufklärendes" entdeckt.

trotzdem danke für deine "hilfe".