Wieso bekomme ich einfach keinen Chat hin?
Übersicht

![]() |
ReLeNtLeSSBetreff: Wieso bekomme ich einfach keinen Chat hin? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heyho,
ich ärgere mich jetz schon 2 Monate mit diesem verdammten Chat rum. Ich habe mir sämtliche Tutorials angeguggt, Beiträge hier im Forum, etc... Aber ich bekomme das Problem einfach nicht gelöst. Daten, werden nicht an den Server gesendet, geschweige denn das er welche weiterleitet. Wieso? Client: Code: [AUSKLAPPEN] ; APLHA NR 1 DES FORSOCHATS -- CLIENT! TCPTimeouts 0,0 fenster1=CreateWindow("ForSo Chat Alpha1 - Verbindungsfenster",300,300,300,300) fenster2=CreateWindow("ForSo Chat Alpha1 - Chatfenster",600,300,400,400) HideGadget fenster2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;LABELS label1$="ForSo Chat Alpha 1" CreateLabel(label1$,5,5,100,15,fenster1) CreateLabel(label1$,5,5,100,15,fenster2) label2$="Host-IP hier eingeben:" CreateLabel(label2$,20,30,200,20,fenster1) label3$="Port hier eingeben:" CreateLabel(label3$,20,90,200,20,fenster1) label4$="----->>>>>> Verbindung erfolgreich! <<<<<<-----" label5$="----->>>>>> Verbindung nicht erfolgreich! <<<<<<-----" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TEXTAREAS hostipfe$=CreateTextField(20,50,100,20,fenster1) empfangfenster=CreateTextArea(5,20,380,200,fenster2) chatfenster$=CreateTextField(5,250,380,150,fenster2) chatname$=CreateTextField(20,110,100,20,fenster1) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BUTTONS verbindenbutton=CreateButton("Verbinden!",20,150,80,20,fenster1) endebutton=CreateButton("Ende",120,150,80,20,fenster1) endebutton1=CreateButton("Ende",90,225,80,20,fenster2) absendenbu=CreateButton("Senden",5,225,80,20,fenster2) schnickschnackbu$=CreateButton("SchnickSchnack Menü",175,225,200,20,fenster2) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SONSTIGES Name$="TEST" serveran=0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EREIGNISSE Repeat Select WaitEvent() Case $401 Select EventSource() Case endebutton1 Notify "ForSo Chat V.0.1 Alpha - by ReLeNtLeSS and Das_TimmaeH!" End Case endebutton Notify "ForSo Chat V.0.1 Alpha - by ReLeNtLeSS and Das_TimmaeH!" End Case verbindenbutton ShowGadget fenster2 HideGadget fenster1 stream=OpenTCPStream(TextFieldText(hostipfe$),TextFieldText(chatname$)) If stream<>0 Then SetStatusText(fenster2,label4$) AddTextAreaText empfangfenster,"Angemeldet als: " + Name$ Else SetStatusText(fenster2,label5$) AddTextAreaText empfangfenster,"Verbindung war nicht erfolgreich!" EndIf Case absendenbu WriteString stream,Name$ + ":" + Chr$(13)+Chr$(10) +TextFieldText(chatfenster$) + Chr$(13)+Chr$(10) + Chr$(13)+Chr$(10) AddTextAreaText(empfangfenster,Name$ + ":" + Chr$(13)+Chr$(10) +TextFieldText(chatfenster$) + Chr$(13)+Chr$(10) + Chr$(13)+Chr$(10)) End Select End Select If serveran=1 Then stream=OpenTCPStream(TextFieldText(hostipfe$),TextFieldText(chatname$)) If stream<>0 Then SetStatusText(fenster2,label4$) Else SetStatusText(fenster2,label5$) EndIf EndIf If stream<>0 Then While Not Eof(stream) in$=ReadString$(stream) AddTextAreaText(empfangfenster,in$) Wend EndIf UpdateWindowMenu fenster1 UpdateWindowMenu fenster2 Forever Und der Server: Code: [AUSKLAPPEN] ; APLHA NR 1 DES FORSOCHATS -- SERVER! TCPTimeouts 0,0 fenster1=CreateWindow("ForSo Chat Alpha1 - Hostfenster",300,300,300,300) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;LABELS label1$="ForSo Chat Alpha 1 - Server" CreateLabel(label1$,5,5,100,15,fenster1) label2$="Port hier eingeben:" CreateLabel(label2$,20,30,200,20,fenster1) label4$="----->>>>>> Host erfolgreich! <<<<<<-----" label5$="----->>>>>> Host nicht erfolgreich! <<<<<<-----" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TEXTAREAS port=CreateTextField(20,50,100,20,fenster1) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BUTTONS verbindenbutton=CreateButton("Hosten!",20,150,80,20,fenster1) endebutton=CreateButton("Ende",120,150,80,20,fenster1) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SONSTIGES zustandv=0 accept=0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EREIGNISSE Repeat Select WaitEvent() Case $401 Select EventSource() Case endebutton CloseTCPServer(host) Notify "ForSo Chat V.0.1 Alpha - by ReLeNtLeSS and Das_TimmaeH!" End Case verbindenbutton host=CreateTCPServer(TextFieldText(port)) If host<>0 Then SetStatusText(fenster1,label4$) accept=1 Else SetStatusText(fenster1,label5$) EndIf End Select End Select If accept=1 Then stream=AcceptTCPStream(host) If stream Then While Not Eof(stream) in$=ReadString$(stream) Print in$ WriteString stream,in$ Wend EndIf EndIf UpdateWindowMenu fenster1 Forever Ich bin echt ratlos.... wieso will das nicht funktionieren?[/code] |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielleicht würde es helfen, wenn du im Client nicht den Stream wieder überschreibst wenn serveran=1 ist. Weil damit ist der alte stream futsch, besteht jedoch noch, da du ihn nie geschlossen hast. (ich seh da sowieso nirgends wie du den Stream wieder abbaust ...)
Beim server machst du den gleichen Fehler gleich nochma. Du kannst nicht X verschiedene Streams auf nur 1 variable mappen. Da muss ein Array her wo du die Streams drin handhabst oder Types, falls du Stream handles und Usernamen zb verknüpfen willst. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist ein Chat automatisch so kompliziert wenn man das so programmieren will, wie zb ICQ läuft? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ICQ in seiner totalen rohform ist relativ einfach (heisst ohne file transfer und allem, nur purer textchat), der server dafür ist jedoch extrem komplex | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
kann ich mir vorstellen, aber ich will ja auch nur ein textchat auf GUI Basis programmieren...
habe das ganze nun abgeändert, im client so: Code: [AUSKLAPPEN] If serveran=1 Then
stream=OpenTCPStream(TextFieldText(hostipfe$),TextFieldText(chatname$)) If stream<>0 Then SetStatusText(fenster2,label4$) serveran=0 Else SetStatusText(fenster2,label5$) serveran=0 EndIf EndIf und im server so: Code: [AUSKLAPPEN] If accept=1 Then
stream=AcceptTCPStream(host) accept=0 Allerdings tut sich nichts... ich meine, so dürfte er doch immer wieder was neues in den Stream schrieben was der server empfängt und an alle clienten leitet oder nicht? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group