TCP Chatprobleme
Übersicht

![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
erstmal im Server
Code: [AUSKLAPPEN] If zustandv=1 Then if Not Eof(stream) then in$=ReadString$(stream) WriteString stream,in$ endif EndIf im client das gleiche wegen EOF, du solltest deine Variablen besser benennen und die überflüssigen entfernen ![]() |
||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke nochmal ![]() allerdings besteht weiterhin das problem, doch jetz sagt er invalid stream handle beim EOF... ich stelle dir mal die exes rein, schau mal, was ich meine wegen haken... das programm hakt wie sau, man kann keine knöppe betätigen und nach ner zeit kommt halt der invalid stream handle.... EXES und CODES: http://rapidshare.com/files/61664678/ForSoChat.rar MfG |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habs mir angesehen und beide Prog. mal gekürzt weil ich keine GUI habe für BB .
Hängt wirklich beim verbinden und Text kommt nicht an ![]() Habe mal nen Timer benutzt der 2 mal in der Sek. die Hauptschleife laufen läßt und dann nen Fabrwechsel über ClsColor/Cls macht dann sieht man ganz gut wie und wann es hängt . Evtl. Windows Firewall ? |
||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
d.h es müsste theoretisch funktionieren, so wie es da steht?
hmm vllt, allerdings habe ich bei mir die Windoof Firewall DEaktiviert... |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Finde schon,
habe heute aber keine Zeit da weiter zu gucken . guck dir mal diesen Befehl an :TCPTimeouts read_millis,accept_millis |
||
- Zuletzt bearbeitet von Markus2 am Sa, Okt 13, 2007 10:46, insgesamt einmal bearbeitet
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die TCPTimeouts bringen nichts...leider...
Also JETZT bin ich wirklich mit meinem Latein am Ende. Theoretisch müsste ALLES klappen! Der Server scheint zu funzen! BlitzDebugger meldet jetz bei dem If Not Eof im Clienten einen Invalid Stream Handle. Warum verdammt nochmal? ![]() Zwei Wietere Hinweise: Hab einen kleinen Sender gebaut Code: [AUSKLAPPEN] Repeat stream=OpenTCPStream("83.189.125.90",4511) WriteString stream,"Hallo!" Print "Sende..." Forever damit ich die verbindung testen kann. resultat: Er sendet drei oder vier mal und danach INVALID STREAM HANDLE Dann habe ich in den Server eingesetzt, das er mir einmal printen soll WAS er erreicht. dann sagt mir der server aber INVALID TCP STREAM HANDLE. Bei folgendem Code (Auschnitt) Code: [AUSKLAPPEN] Case verbindenbutton host=CreateTCPServer(TextFieldText(port)) If host<>0 Then SetStatusText(fenster1,label4$) serverge=1 Else SetStatusText(fenster1,label5$) serverge=1 EndIf End Select End Select If serverge=1 Then stream=AcceptTCPStream(host) EndIf If stream Then zustandv=1 If zustandv=1 Then If Not Eof(stream) Then If prufen$=ReadAvail(stream) Then in$=ReadString$(stream) Print in$ WriteString stream,in$ EndIf EndIf EndIf MfG /EDIT: Habe nun rausgefunden das der AcceptTCPStream im Server der schuldige sein muss. Nur was is an dem flasch? |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das TCPTimeouts ist wichtig .
Wie man jetzt erkennt wenn eine Verbindung abbricht,keine Ahnung . In dem Beispiel: Server Programm starten F1 drücken Client Programm starten F1 drücken Im aktiven Fenster Return drücken Code: [AUSKLAPPEN] AppTitle "Chat Server" Graphics 640,480,0,2 SetBuffer BackBuffer() TCPTimeouts 0,0 t=CreateTimer(2) f=0 Repeat f=1-f ClsColor 0,f*128,0 Cls If KeyHit(59)>0 And host=0 Then ;F1 host=CreateTCPServer(1234) EndIf If host Then stream=AcceptTCPStream(host): If stream<>0 And ChatStream=0 Then ChatStream = stream If KeyHit(28) Then ;Return If ChatStream Then WriteLine ChatStream ,"Hallo "+CurrentTime() EndIf If ChatStream Then If Eof(ChatStream) Then ;CloseTCPStream ChatStream :ChatStream =0 Else If ReadAvail(ChatStream) Then in$=in$+ReadLine(ChatStream) in$=Left(in$,128) EndIf EndIf EndIf Text 0,0,"Server Input:"+In$ Text 0,16,"Host:"+host Text 0,32,"ChatStream:"+ChatStream If ChatStream Then Text 0,48,"Avail Data:"+ReadAvail(ChatStream) Flip WaitTimer t Until KeyHit(1) ;ESCAPE If ChatStream Then CloseTCPStream ChatStream :ChatStream =0 If host Then CloseTCPServer host:host=0 End Code: [AUSKLAPPEN] AppTitle "Chat Client" Graphics 640,480,0,2 SetBuffer BackBuffer() t=CreateTimer(2) f=0 Repeat f=1-f ClsColor 0,f*128,0 Cls If KeyHit(59)>0 And ChatStream=0 Then ;F1 ChatStream=OpenTCPStream("127.0.0.1",1234,1234+1) EndIf If KeyHit(28) Then ;Return If ChatStream Then WriteLine ChatStream ,"Hallo "+CurrentTime() EndIf If ChatStream Then If Eof(ChatStream) Then ;CloseTCPStream ChatStream:ChatStream=0 Else If ReadAvail(ChatStream) Then in$=in$+ReadLine(ChatStream) in$=Left(in$,128) EndIf EndIf EndIf Text 0,0,"Input:"+In$ Text 0,16,"ChatStream:"+ChatStream Flip WaitTimer t Until KeyHit(1) ;ESCAPE If ChatStream Then CloseTCPStream ChatStream:ChatStream=0 End |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Passt jetzt zwar nicht so zum Thema, aber ich hab mich mal um deine CAPSLOCK PROBLEME im Titel gekümmert. Die sollte man da nämlich dringend vermeiden.
~Titel editiert~ |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
AHHH VERDAMMT NOCH MAL ICH WERD BESCHEUERT!
Ich hab die TimeOuts 0,0 eingebaut. Das Programm laggt nich mehr, aber es bricht nach ein paar Sekunden mit dem verdammten "INVALID STREAM HANDLE" ab! Was is an dem Code den falsch? Theoretisch müsste es doch funktionieren... ![]() P.S.: Sry für den Ausraster ![]() /EDIT1: Na endlich es klappt! Allerdings kommen die Nachrichten noch nich an, ich meld mich wenn ich genaueres weis ![]() /EDIT2: Ich weis immer noch nich warum die Nachrichten nich ankommen, ich glaube jedenfalls das in den Code-Stücken hier der Wurm drinn is: SERVER: Code: [AUSKLAPPEN] 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$) stream=AcceptTCPStream(host) Else SetStatusText(fenster1,label5$) EndIf End Select End Select ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AB HIER (WURM) If stream Then zustandv=1 If zustandv=1 Then If prufen$=ReadAvail(stream) Then If Not Eof(stream) Then in$=ReadString$(stream) WriteString stream,in$ EndIf EndIf EndIf ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BIS HIER(DENKE ICH DAS WAS FALSCH IS) und beim Client: Code: [AUSKLAPPEN] 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;VON HIER 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 If prufen$=ReadAvail(stream) Then If Not Eof(stream) Then in$=ReadString$(stream) AddTextAreaText(empfangfenster,in$) EndIf EndIf EndIf ;;;;;;;;;;;;;;;;;;;;;;;;;BIS HIER! Forever Wenn wer den Fehler endeckt, Vielen Dank!!! ![]() |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ReadAvail(stream) sollte wohl nach der EOF Prüfung stehen . Und ich habe was interessantes gefunden zum EOF ... Rückgabewert Ab v1.52 liefert diese Funktion auch den Wert -1. -1 = Beim Auslesen kam es zu einem Fehler (wichtig bei Internetverbindungen mit OPENTCPSTREAM) 0 = Dateiende noch nicht erreicht 1 = Dateiende erreicht ... http://blitzbase.de/befehle2d/eof.htm das gleiche steht auch in der Hifle zu BB wenn man F1 drückt Eof returns 1 if eof has been reached or, in the case of a TCP stream, the stream has been 'nicely' closed. Eof returns -1 if something has gone wrong during stream processing. |
||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
kk, aber die nachrichten kommen immer noch nich an ![]() 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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$) stream=AcceptTCPStream(host) Else SetStatusText(fenster1,label5$) EndIf End Select End Select If stream Then zustandv=1 If zustandv=1 Then If Eof(stream)=0 Then If ReadAvail(stream) Then in$=ReadString$(stream) Print in$ WriteString stream,in$ EndIf EndIf EndIf UpdateWindowMenu fenster1 Forever 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 If Eof(stream)=0 Then If ReadAvail(stream) Then in$=ReadString$(stream) AddTextAreaText(empfangfenster,in$) EndIf EndIf EndIf UpdateWindowMenu fenster1 UpdateWindowMenu fenster2 Forever Warum nich? Eigentlich müsste es doch so sein...[/code] |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das AcceptTCPStream steht nur beim Klick Ereigniss !? | ||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
erst sagst du, es darf nich inner schleife sein, und dann auf einmal doch? ![]() Ich blick gar nichts mehr... |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe gesagt es soll in eine "Schleife"
ReLeNtLeSS hat Folgendes geschrieben: erst sagst du, es darf nich inner schleife sein, und dann auf einmal doch?
![]() Ich blick gar nichts mehr... Code: [AUSKLAPPEN] AppTitle "Chat Server" Graphics 640,480,0,2 SetBuffer BackBuffer() TCPTimeouts 0,0 t=CreateTimer(2) f=0 Repeat f=1-f ClsColor 0,f*128,0 Cls If KeyHit(59)>0 And host=0 Then ;F1 host=CreateTCPServer(1234) EndIf If host Then stream=AcceptTCPStream(host): If stream<>0 And ChatStream=0 Then ChatStream = stream If KeyHit(28) Then ;Return If ChatStream Then WriteLine ChatStream ,"Hallo "+CurrentTime() EndIf If ChatStream Then Select Eof(ChatStream) ;1=Ende , -1=Fehler Case -1 CloseTCPStream ChatStream :ChatStream =0 Case 1 Case 0 If ReadAvail(ChatStream) Then in$=in$+ReadLine(ChatStream) in$=Left(in$,128) EndIf End Select EndIf Text 0,0,"Server Input:"+In$ Text 0,16,"Host:"+host Text 0,32,"ChatStream:"+ChatStream Flip WaitTimer t Until KeyHit(1) ;ESCAPE If ChatStream Then CloseTCPStream ChatStream :ChatStream =0 If host Then CloseTCPServer host:host=0 End Code: [AUSKLAPPEN] AppTitle "Chat Client" Graphics 640,480,0,2 SetBuffer BackBuffer() t=CreateTimer(2) f=0 Repeat f=1-f ClsColor 0,f*128,0 Cls If KeyHit(59)>0 And ChatStream=0 Then ;F1 ChatStream=OpenTCPStream("127.0.0.1",1234) EndIf If KeyHit(28) Then ;Return If ChatStream Then WriteLine ChatStream ,"Hallo "+CurrentTime() EndIf If ChatStream Then Select Eof(ChatStream) ;1=Ende , -1=Fehler Case -1 CloseTCPStream ChatStream :ChatStream =0 Case 1 ;kann ja wieder was rein kommen Case 0 If ReadAvail(ChatStream) Then in$=in$+ReadLine(ChatStream) in$=Left(in$,128) EndIf End Select EndIf Text 0,0,"Input:"+In$ Text 0,16,"ChatStream:"+ChatStream Flip WaitTimer t Until KeyHit(1) ;ESCAPE If ChatStream Then CloseTCPStream ChatStream:ChatStream=0 End |
||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun, als ich accepttcpstream in der schleife hatte, is das programm vorzeitig mit inavlid tcp stream handle abbgebrochen.
Jetz isses so, das es läuft. Ich werde das allerdings nochmal in eine schleife tun und mich backmelden. So, hab Acceptstream inner schleife: Code: [AUSKLAPPEN] 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 zustandv=1 If zustandv=1 Then If Eof(stream)=0 Then If ReadAvail(stream) Then in$=ReadString$(stream) WriteString stream,in$ EndIf EndIf EndIf Der Server empfängt auch nachrichten, aber nach gut 10sekunden kackt er mit der fehlermeldung "Invalid stream handle" ab...[/code] |
||
![]() |
ReLeNtLeSS |
![]() Antworten mit Zitat ![]() |
---|---|---|
MUHA!
Sooo, die Verbindung funktioniert pööörfekt! Aaaaallerdings, empfängt der Server nur EINMAL eine nachricht von EINEM clienten, welche auch nicht weitergeleitet oder empfangen wird wird (vom andern clienten...) CODES: 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 If Eof(stream)=0 Then If ReadAvail(stream) Then in$=ReadString$(stream) Print in$ WriteString stream,in$ EndIf EndIf EndIf Else Print "Test, dafür das nix im Stream ist." EndIf UpdateWindowMenu fenster1 Forever 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 If Eof(stream)=0 Then If ReadAvail(stream) Then in$=ReadString$(stream) AddTextAreaText(empfangfenster,in$) EndIf EndIf EndIf UpdateWindowMenu fenster1 UpdateWindowMenu fenster2 Forever Theorethisch müsste es funzen... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group