Probleme mit meinem Chat?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bruce85

Betreff: Probleme mit meinem Chat?

BeitragMo, Dez 11, 2006 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also ich hab mir ein kleines Chat geschrieben, aber sobald ich als Server eine Nachricht schreibe und dann auf Enter drücke, dann kommt die Meldung "Stream does not exist".
Könnt ihr vieleicht mal kucken ob da vieleicht Fehler drin sind?
Hier mal der Code:

Code: [AUSKLAPPEN]
Global Message$
Global Nick$="bruce85"

Print "[1] Chat erstellen"
Print "[2] Chat beitreten"

wahl = Input("Wahl: ")

;--- Server ---
If wahl = 1 Then
  Server = CreateTCPServer(8000)
  If Server <> 0 Then
    Color 0,128,0
    Print "Server erfolgreich erestellt!"
  Else
    Color 128,0,0
    Print "Fehler beim erstellen des Servers!"
  EndIf
EndIf

;--- Client ---
If wahl = 2 Then
  Stream = OpenTCPStream("127.0.0.1",8000)
  If Stream <> 0 Then
    Color 0,128,0
    Print "Erfolgreich zum Server verbunden!"
  Else
    Color 128,0,0
    Print "Fehler bei der Verbindung zum Server!"
  EndIf
  WriteByte Stream,1
  WriteString Stream,Nick$
EndIf

While Not KeyHit(1)

  ;--- Server ---
  If wahl = 1 Then
    Stream = AcceptTCPStream(Server)
    If Stream Then
      While ReadAvail(Stream)
        action = ReadByte(Stream)
        Select action
          Case 1
            Color 107,200,255
            Print Nick$ + " ist dem Chat beigetreten."
          Case 2
            Color 107,100,200
            Print Nick$ + ": " + Message$
        End Select
      Wend
    EndIf
    Message$ = Input(Nick$+": ")
    If KeyHit(28) Then
      WriteByte Stream,2
      WriteString Stream,Message$
    EndIf
  EndIf

  ;--- Client ---
  If wahl = 2 Then
    While ReadAvail(Stream)
      action = ReadByte(Stream)
      Select action
        Case 2
          Color 107,100,200
          Print Nick$ + ": " + Message$
      End Select
    Wend
    Message$ = Input(Nick$+": ")
    If KeyHit(28) Then
      WriteByte Stream,2
      WriteString Stream,Message$
    EndIf
  EndIf

Wend


Wäre sehr nett wenn mir einer Helfen könnte, Vielen Dank.

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

pixelshooter

BeitragMo, Dez 11, 2006 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
was ich so auf anhieb im client sehe: warum "if keyhit(28)"? Input wartet, bis Enter gedrückt wurde. Und irgendwie nimmt der auch keine nachrichten an, oder?
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

bruce85

BeitragMo, Dez 11, 2006 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir, ich hab ja auch schon ein Inputroutine geschrieben und die Texte mit Types erstellt, ging auch nicht.
Kann das sein das der Stream wieder gelöscht wird?

Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

pixelshooter

BeitragMo, Dez 11, 2006 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
ich check nur irgendwie net, was der chat machen soll...Der server zeigt immer seinen eigenen Namen an?!
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc
 

bruce85

BeitragMo, Dez 11, 2006 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich möchte das die Nachricht wo der Server eingebt, zum Client kommt, also Nachrichten austauschen, irgendwie geht das nicht.
Woran kann das liegen?
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
 

Dreamora

BeitragMo, Dez 11, 2006 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt mehrere Grunde:

Der Stream wird immer wieder zerlegt (ein TCP Stream bleibt bestehen bis er TimeOutet oder du ihn beendest).
Input sorgt dafür dass das gesamte Programm stehen bleibt, solange es aktiv ist.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

bruce85

BeitragMo, Dez 11, 2006 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir, aber wie behalte ich den Strem bis ich es beende mit CloseTcpStream?
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
 

bruce85

BeitragMo, Dez 11, 2006 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Problem gelöst.
Ich habe den Stream und die Benutzer mit Types erstellt und diese dann mit der For schleife abgefragt, jetzt gehts.

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group