BNet Client kann schreiben und lesen???

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Daniel Knobe

Betreff: BNet Client kann schreiben und lesen???

BeitragSa, Jun 04, 2005 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
mir ist aufgefallen das man mit dem Client nur schreiben kann und und keine Daten lesen.
Muss man dann im Client einen Server starten oder wie geht das, bin da noch nicht ganz durchgestiegen

mfg
DKing

Vertex

BeitragSo, Jun 05, 2005 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Server:
Code: [AUSKLAPPEN]
Strict

Type TClient
   Global List  : TList
   
   Field Stream : TTCPClient
   Field IP     : String
End Type

Global Server  : TTCPServer
Global Stream  : TTCPClient
Global Client  : TClient

Global Message : String

TClient.List = CreateList()
TCPTimeouts 100, 100

Server = CreateTCPServer(1234)
If Server <> Null Then
   Print "Server erfolgreich gestartet!"
Else
   Print "Server konnte nicht erstellt werden"
   End
EndIf

While Not KeyDown(KEY_ESCAPE)
   Stream = AcceptTCPStream(Server)
   If Stream <> Null Then
      Client = New TClient
      Client.Stream = Stream
      Client.IP     = DottedIP(TCPStreamIP(Stream))
      
      TClient.List.AddLast(Client)
      Print "Neuer Klient: "+Client.IP
   EndIf
   
   For Client = EachIn TClient.List
      Select Eof(Client.Stream)
         Case -1
            Print Client.IP+" hat die Verbindung getrennt"
            TClient.List.Remove(Client)
            
         Case 0
            While Not Eof(Client.Stream)
               Message = ReadLine(Client.Stream)
               Print Client.IP+": "+Message
            Wend
            WriteLine Client.Stream, "OK"
      End Select
   Next
Wend


Client:
Code: [AUSKLAPPEN]
Strict

Global Client  : TTCPClient
Global Message : String

TCPTimeouts 100, 0

Client = OpenTCPStream("127.0.0.1", 1234)
If Client <> Null Then
   Print "Klient erfolgreich verbunden!"
Else
   Print "Konnte keine Verbindung herstellen!"
   WaitKey
   End
EndIf

While Not KeyDown(KEY_ESCAPE)
   Message = Input("Nachricht: ")
   WriteLine Client, Message
   
   If Message = "END" Then Exit
   
   Repeat
   Until ReadAvail(Client)

   While Not Eof(Client)
      Print "Server: "+ReadLine(Client)
   Wend
Wend


Zweifel niewieder an BNet! Very Happy

mfg olli
vertex.dreamfall.at | GitHub
 

Daniel Knobe

BeitragSo, Jun 05, 2005 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab garnicht gezweifelt Very Happy , sonst hätte ich das gute Teil ja beschimpft als verbugt^^.

Und das würde mir bei deinen Codes nie einfallen, weil die einfach immer funktionieren Wink .

mfg
DKing und danke!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group