Chat problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mabox

Betreff: Chat problem

BeitragMi, Mai 21, 2008 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, hab nach etwas längerer Zeit wieder meinen Chat ausgegraben, der noch nie richtig funktionierte. Jetzt will ich ihn aber endlich zum laufen bringen.

Irgendwie bekomm ichs nicht hin...
Es kommt beim Server keine Nachricht an wenn man beim Client eine eingibt und die Nachrichten werden auch beim Client nicht angezeigt.
was ist falsch?

server Code: [AUSKLAPPEN]
Graphics 640,240,0,2
server=CreateTCPServer(8080)

Print "isch bin dor Sörver"
Type Clients
   Field IP
   Field Stream
End Type

Repeat
   stream=AcceptTCPStream(server)
   If stream <> 0 Then
      Local client.Clients = New Clients
      client\IP=TCPStreamIP(stream)
      client\Stream=stream
   EndIf
   For client.Clients = Each Clients
      While ReadAvail(client\Stream) <> 0
            l$ = ReadLine$(client\Stream)
         If l$ <> "" Then
            protokoll$ = protokoll$ + l$
            Print l$
            Local empfaenger.Clients
            For empfaenger.Clients = Each Clients
               WriteLine empfaenger\Stream, l$
            Next
         EndIf
      Wend
      Delay 10
   Next
Until KeyHit (1)
datei = WriteFile ("chat protokoll.txt")
WriteLine datei,protokoll$
CloseFile datei
End


Client Code: [AUSKLAPPEN]
Graphics 640,240,0,2
SetBuffer BackBuffer()
server1$ = "***.***.***.**"
name$ = Input ("Dein Name: ")
bild = CreateImage (640,240)

While Not stream1 <> 0
   Text 0,12,"verbinden..."
   stream1 = OpenTCPStream(server1$, 8080)
   If KeyHit (1) Then End
Wend

y = 36

WriteLine stream1, name$+" hat sich eingeklinkt"
While Not i$ = "ende"
   Cls
   If stream1 Then
      l1$ = ReadLine$(stream1)
      Color 100,100,255
      SetBuffer ImageBuffer(bild)
      Text 0,y, l1$
      y = y + 12
      Flip
      SetBuffer BackBuffer()
   EndIf
    Color 255,100,100
   
   ;eingaberoutine
   b = GetKey()
   If b > 0 Then
      eingabe1$ = eingabe1$ + Chr$(b)
   EndIf
   If b = 8 Then
      eingabe1$ = Mid(eingabe1,1,Len(eingabe1)-2) 
   EndIf
   If b = 13 Then
      eingabe1$ = Mid(eingabe1,1,Len(eingabe1)-1)
      senden = 1
   EndIf
   ;/eingaberoutine
   
   DrawImage bild,0,0
   Text 0,0, eingabe1$
   Text 0,12,senden
   
   If senden = 1 Then
      WriteLine stream1, name$+": "+eingabe1$
      senden = 0
      eingabe1$  = ""
   Else
      WriteLine stream1, ""
   EndIf
   
   Delay 10
   Flip
Wend
End

Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group