Entwickler-Ecke
Internet / Netzwerk - Kleines problem mit TServerSocket und TClientSocket
Toastbrotbaby - Mi 03.01.07 16:55
Titel: Kleines problem mit TServerSocket und TClientSocket
Moin,
Nachdem ich nun mehrere probs hatte und das irgendwie nie so verbinden wollte und miteinander kommunizieren wollte ich klappte das heute endlich. Keine ahnung wieso aber es ist schon mal ein anfang.
Meine Frage:
mit
Delphi-Quelltext
1:
| Form4.ClientSocket1.Socket.SendText(Panel2.Caption) |
sende ich ja das was in Panel2 steht. soweit ist noch alles klar.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var MyMessage: String; begin MyMessage := Socket.ReceiveText; Log.Lines.Add(MyMessage); end; |
und die prozedur fängt das ganze ja an dem serverteil ab
nun wird das abgefangene ja in der variable MyMessage gespeichert. Und mein problem in dem fall ist nun das ich aber 2 empfänger variablen brauche da 2 verschiedene informationspakete gesendet werden sollen.
das erste informationspaket soll prinzipiell nur eine information sein die zb dargestellt werden soll.
und das 2. paket soll nach möglichkeit ereignisse steuern. Aber wenn ich dies nun in der selben variable habe würde ja nur eine möglichkeit funktionieren, oder habe ich grad irgendwo einen denkfehler drin.
bin grad echt planlos und mir fällt dazu grad nicht ein wie ich das entsprechend umsetze...
hoffe irgendwer hat ne idee :)
Gruss
Toasti
Toastbrotbaby - Mi 03.01.07 17:37
So ...
hatte nun doch noch ne kleine idee zwischendurch.
Habe es jetzt so realisiert das einfach die informationen in entsprechender reihenfolge nacheinander gesendet werden müssen und beim server hab ich das ganze per case of dann weiterverarbeitet ...
jetzt werden praktisch nur noch zahlen von 0 - .. gesendet und die informationen werden weiter verarbeitet.
funktioniert, nur halt muss es wohl in der richtigen reihenfolge passieren :)
wenn wer noch was besseres parat hat bin für alles offen
Danke
Gruss
Toasti
Narses - Mi 03.01.07 18:52
Moin!
Toastbrotbaby hat folgendes geschrieben: |
Habe es jetzt so realisiert das einfach die informationen in entsprechender reihenfolge nacheinander gesendet werden müssen |
Dabei verwendest du aber nicht die einzelnen OnRead-Ereignisse zum Trennen der Datenpakete, oder? :? Falls doch, dann möchte ich anmerken, dass das nur zufällig klappt; warum, steht im FAQ-Beitrag, s.o. ;)
Viel Erfolg noch,
cu
Narses
Toastbrotbaby - Mi 03.01.07 19:01
nein dabei verwende ich nur das senden von einfachen zahlen die wie in deinem anfänger tut beschrieben gesendet und empfangen werden, in eine variable gespeichert und von dort aus weiter verarbeitet werden ...
ich zeig dir was ich tat ...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var i: String; begin i := Socket.ReceiveText; begin case StrtoInt(i) of 0: Timer1.Enabled := False; 1: Timer1.Enabled := True; 2: label2.Caption := (a); 3: Label2.Caption := (b); 4: Label2.Caption := (c); 5: Label2.Caption := (d); 6: Label2.Caption := (e); 7: Label2.Caption := (f); 8: Label2.Caption := (g); 9: Label2.Caption := (h); 10: Label2.Caption := (j); 11: Label2.Caption := (k); 12: Label2.Caption := (l); end; end; end; |
setzt im prinzip das um was ich wollte ... jedenfalls war es eben in einem minitest so ...
ich habs vorerst zum testen so gemacht, hatte bei einem flüchtigen blick die befürchtung das ich mich intensiver mit deinen tutorial beschäftien muss als ich grad den nerv habe, zumal es wie gesagt grad so funzte.
Habe jetzt im Client mehrere Buttons die die Sendeprozedur ausführen und verschiedene werte senden. Sprich 1-12 ... und der server nimmt diese informationen und führt entsprechende ereignisse aus.
Weiss so direkt nicht ob deine variante eleganter ist, aber ich würde spontan behaupten ja ... :)
EDIT: Die Inhalte der Variablen ist in .ini files gespeichert und kann je nach bedarf vorher geladen werden, ansonsten sind erstmal alle variablen mit 00:00:00 versehen
werde mich auf jedenfall morgen mal intensiver mit deinem tut beschäftigen :)
Gruss
Toast
Narses - Mi 03.01.07 19:07
Moin!
Toastbrotbaby hat folgendes geschrieben: |
ich zeig dir was ich tat ... |
Der Code oben hat auf jeden Fall das angesprochene Datenpaket-Problem. :| Sorry... :? ;)
Toastbrotbaby hat folgendes geschrieben: |
zumal es wie gesagt grad so funzte. |
Wie schon gesagt, nur zufällig. :(
Toastbrotbaby hat folgendes geschrieben: |
werde mich auf jedenfall morgen mal intensiver mit deinem tut beschäftigen :) |
Du wirst es sicher nicht bereuen. :D
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!