TCP und BlitzPlus... Chat

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

MaTrixCruiser

Betreff: TCP und BlitzPlus... Chat

BeitragMo, Jun 26, 2006 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Kann es sein, dass BlitzPlus nicht richtig mit TCP arbeitet?

Oder wo ist bei mir der fehler?


Code: [AUSKLAPPEN]
win=CreateWindow ("Game",320,340,320,240,0,7)

menu=WindowMenu(win)
M_datei=CreateMenu("Server",1,menu)
M_new_s=CreateMenu("erstellen",2,m_datei)
M_join_s=CreateMenu("join",3,m_datei)
UpdateWindowMenu win

text_msg=CreateTextField(0,170,250,20,win)

send=CreateButton ("send",250,170,30,20,win)
test_b=CreateButton ("Test",280,170,30,20,win)
textarea=CreateTextArea (0,0,320,170,win)

Repeat
   If WaitEvent(-1)=$803 Then End

   If EventData()=2 Then
      server = CreateTCPServer(4665)
      If server = 0 Then
         AddTextAreaText textarea,"Server konnte nicht gestartet werden" +Chr$(10)
         Else
         AddTextAreaText textarea,"Ready" +Chr$(10)
      EndIf
   EndIf

If EventData()=3 Then
   stream = OpenTCPStream("192.168.1.33",4665)
   If stream = 0 Then
      AddTextAreaText textarea,"Client konnte nicht verbinden" +Chr$(10)
      Else
      AddTextAreaText textarea,"Verbindung zum Server..." +Chr$(10)
   EndIf

EndIf

If server=0 Then
   If stream > 0 Then
      If Eof(stream) = -1
         AddTextAreaText textarea,"Connection Problem"+Chr$(10)
         CloseTCPStream(stream)
      EndIf
      If Eof (stream) = 1
         AddTextAreaText textarea,"Client disconnected"+Chr$(10)
         CloseTCPStream(stream)
      EndIf
      stream2=stream
      If stream <> 0 Then
         If ReadAvail(stream)<>0  Then
            txt$ = ReadLine(stream)
            AddTextAreaText textarea,"Server: " + txt$ +Chr$(10)
         EndIf
      EndIf
      t=t+1
   EndIf
EndIf

If server>0 Then
   stream = AcceptTCPStream(server)
      If stream > 0 Then
stream2=stream
      If a=0 Then AddTextAreaText textarea,"Client connected"+Chr$(10)   a=1    ;WriteString stream,"Connected"
      If Eof(stream) = -1 Or Eof(stream) = 1
         AddTextAreaText textarea,"Client hat die Verbindung getrennt"+Chr$(10)
         CloseTCPStream(stream)
      EndIf
      If stream <> 0 Then
         If ReadAvail(stream)
            txt$ = ReadLine(stream)
            AddTextAreaText textarea,"Client: " + txt$
         EndIf       
          EndIf
   EndIf
EndIf

If EventSource()=send Then
   send_msg$=TextFieldText$(text_msg)
   AddTextAreaText textarea,send_msg+Chr$(10)
   SetGadgetText Text_msg,""
   If stream<> 0 Then  WriteString stream,send_msg$
EndIf
If EventSource()=test_b Then
   AddTextAreaText textarea,"stream: "+stream2+" server: "+server+Chr$(10)
EndIf

Until KeyDown(1)


das muss zwei mal ausgeführt werden. mit dem einen nen server erstellen udn mit dem andern joinen.... vllt noch Ports anpassen...

Bei mir will der einfach nicht senden:(
Amd 64 3200+ (939 winchester)
nvidea 6600gt (PCI-E)
1024 ddr400
200GB HDD
S

Hubsi

BeitragMo, Jun 26, 2006 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
If server=0 ??

If Eof(stream) = -1 ??


Ist mir beim überfliegen so aufgefallen.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

MaTrixCruiser

BeitragMo, Jun 26, 2006 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
if server=0 also, wenns ein client ist.

eof =-1 wenn die verbindung durch technische sachen unterbrochen wurde

aber thx fürs überfliegen
Amd 64 3200+ (939 winchester)
nvidea 6600gt (PCI-E)
1024 ddr400
200GB HDD
S

kreisman

BeitragMo, Jun 26, 2006 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem liegt hier:
Code: [AUSKLAPPEN]
If stream<> 0 Then  WriteString stream,send_msg$

Du schreibst einen String auf den Stream liest aber diesen mit Readline aus.
Schreib also mit WriteLine auf den Stream.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group