nur einmal in stream schreiben?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

DerKeks

Betreff: nur einmal in stream schreiben?

BeitragDo, Aug 16, 2007 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
hey leute ich hab ein problem bei meinem server...

also mein server läuft sauber ohne fehler

nur der client macht probleme:
Code: [AUSKLAPPEN]
a = OpenTCPStream("127.0.0.1", 8080)

For i = 1 To 100
   WriteString a, i
Next
End


also wie man sehen kann soll er einzeln die zahlen von 1 bis 100 an den server übergeben

aber im server kommt immer nur eine 1 an und dann is ende...

liegt das jetzt am server ( das der nur einen stream pro IP/user liest ) oder liegts am client ( das der nur einen wert pro verbindung an den server übergibt ) ?

helf mir bitte ja Very Happy

vllt weiss ja einer wo der wurm drin is^^

wenn ihr braucht poste ich auch noch den server code:

Code: [AUSKLAPPEN]
a = CreateTCPServer(8080)

If a <> 0 Then Print "Online!"

Repeat
   b = AcceptTCPStream(a)
   If b Then
      c = ReadString$(b)
      Print c
   End If
Until a = 0
   


danke schonmal...

edit:
problem gelöst... ich musste nur das stream öffnen mit die schleife stecken dann gehts -.-

edit2:
nächstes problem -.-
wenn ich das OpenTCPStream mit in die schleife stecke und eine Input() abfrage mache was er senden soll
Code: [AUSKLAPPEN]
msg$ = Input(">")
WriteString server, msg$

dann gehts wieder nicht.... dann sendet er sobald ich den client starte ohne was zu schreiben eine "0" an den server bei der input kommt garnix im server und wenn ich den client zu mache sendet er noch eine "0"
hat einer ne ahnung was jetzt ist?

Puccini

BeitragDo, Aug 16, 2007 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich musst du nur am anfang den stream öffnen und dann sollte es gehen!

Ich vermute das dein erstes problem nich richtig gelöst wurde.
wenn du mal versuchst ein delay in die schleife einzubauen und das open tcpstream ausserhalb der schleife lässt und nochmal versuchst??

etwa so:
Code: [AUSKLAPPEN]
For 1-100
delay 20
next


kann sein das sonst der server "überlastet" sein könnte.
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

DerKeks

BeitragDo, Aug 16, 2007 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab jetzt bestimmt schon das 20ste Server/Client Paket gecodet und das ist mein letzter Entwurf der deinen Angaben entspricht:

Server:
Code: [AUSKLAPPEN]
server = CreateTCPServer(8080)

If server <> 0 Then
   Print "Server online!"
Else
   Print "Error!"
   WaitKey
   End
EndIf

While Not KeyHit(1)
   accept = AcceptTCPStream(server)
   If accept <> 0 Then
      msg$ = ReadString$(accept)
      Print msg$
      Delay 20
   EndIf
Wend
CloseTCPServer server
End


Client:
Code: [AUSKLAPPEN]
conn = OpenTCPStream("127.0.0.1", 8080)

If conn <> 0 Then
   Print "Verbunden!"
Else
   Print "Error!"
   WaitKey
   End
EndIf

While Not KeyHit(1)
   send$ = Input("=>")
   WriteString conn, send$
Wend
CloseTCPStream conn
End


also so langsam hab ich absolut keinen plan mehr wie der sch**ss noch gehn soll-.- ich hab schon was weiss ich ned alles an die wand geworfen vor wut ^^

ist mir noch zu helfen? ( also jetzt code-teschnisch )

Puccini

BeitragDo, Aug 16, 2007 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
also nochmal:

senden sollte grundsätzlich nicht in jedem schleifendruchlauf stattfinden! das legt das netzwerk lahm (eigene erfahrung mit inbegriffen)

das abfragen (AcceptTCPStream) hingegen sollte in jedem schleifendurchlauf stattfinden,nich das was verpasst wird! (Bei TCP nich wirklich, aber bei UDP schon eher)

Ein Delay ist beim Clienten eigentlich nicht sinnvoll, war nur mein vorschlag für die testschleife!

Eine Variable die die alte Sendezeit beinhaltet und mit den aktuellen millisecs abgeglichen wird is da sinnvoller! also aller 50ms senden oder so.

Nich gleich alles an die Wand werfen. Server-Client-Anwendungen gehören zur hohen Stufe hier in BB, das kann schon mal frust hervorrufen, ich weis, aber bleib dran, es lohnt sich Wink.
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

DerKeks

BeitragDo, Aug 16, 2007 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
zu der wand: da is jez eh kein platz mehr Very Happy

die AcceptTCPStream hab ich ja in der schleife im server

das Delay is auch im server damit der ned alles auf einma ausgibt ( falls man mal zu schnell tippt^^ )

aber ich packs ned -.-

ich hab echt kein plan wie dat noch gehn soll...

hat hier keiner nen plan wo der fette wurm is un meinen code kaputtfrisst?

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group