AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sockets -> SendBuf

Ein Thema von sAibo · begonnen am 3. Jun 2004 · letzter Beitrag vom 3. Jun 2004
Antwort Antwort
sAibo

Registriert seit: 6. Mai 2004
20 Beiträge
 
#1

Sockets -> SendBuf

  Alt 3. Jun 2004, 14:54
Hallo an alle erstmal, ich hoffe dass Ihr die Frage, die gleich kommt noch nicht Leid seid und euch evtl. nochmal fünf Minuten für mich Zeit nehmt.

Um was gehts es:
Tutorial
genauer um den letzten Punkt: Komunikation mittels SendBuf

Mein Problem:
Ich bekomm den Record auf der anderen Seite einfach nicht mehr raus...

Mein Code :-/
Delphi-Quellcode:

type
  CustomRec = record
    Text: String[20];
    Zahl: byte;
end;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  Rec: CustomRec;
begin
     //Record Werte zugewiesen
     rec.Text:=Edit1.Text;
     rec.Zahl:=StrToInt(Edit2.Text); //Edit2 nur Zahlen eingeben!
     //testen ob der richtige wert zugewiesen worden ist
     Memo1.Lines.Add(rec.Text);
     Memo1.Lines.Add(IntToStr(rec.Zahl)); //funktioniert ja schonmal =)
     //Unser Record wird verschickt!
     Client.Socket.SendBuf(Rec,sizeof(Rec));
end;

procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
  Rec: CustomRec;
begin
     //record abholen
     Client.socket.ReceiveBuf(Rec,SizeOf(Rec)); //könnte es hier evtl Server.Socket... heißen? es kommt doch beim Server an... funzt aber auch nicht :(
     //...und im Memofeld ausgeben
     Memo1.Lines.Add(rec.Text);
     Memo1.Lines.Add(IntToStr(rec.Zahl));
     // AUSGABE: erste zeile nichts und zweite zeile Null :-(
end;
*heul* ich weiß garnich was ich noch versuchen soll... so viel zu ändern gibts an den paar Zeilen ja auch nicht... und so langsam ist es echt frustrierend *g* wegen so nem kleinen Problem nich mehr weiter zu kommen....


Zu der Frage warum ich das nich über die Indy Komponente versucht...
die is bei uns in der Schule nicht installiert und wir sind deswegen auf die klasischen Sockets angewiesen...


Ach und die Verbindung und so ist auch alles Richtig hergestellt...

Danke schonmal an alle ich hoffe Ihr könnt mir helfen
Vielleicht mag ja auch einer nen paar Zeilen für mich tippen möchte jetzt endlich weiter machen können =)

Gruß Tobias
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Sockets -> SendBuf

  Alt 3. Jun 2004, 15:14
Moin!

Mal eine Frage:

Du sendest den Record mit dem Client Client.Socket.SendBuf(Rec,sizeof(Rec)); und du empfängst den Buffer auch wieder mit dem Client? Client.socket.ReceiveBuf(Rec,SizeOf(Rec)); ?? Das geht nicht. Der Client empfängt nicht die Daten von sich selber wieder, somit musst du das Ereignis OnClientRead vom ServerSocket nehemn...

Sonst ist alles ok.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Sockets -> SendBuf

  Alt 3. Jun 2004, 15:17
So funktioniert das bei mir...
Delphi-Quellcode:
procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket); <-- Hier wird der Socket übergeben!!!
var
  Rec: CustomRec;
begin
     //record abholen
     Socket.ReceiveBuf(Rec,SizeOf(Rec)); <-- Aus dem übergebenen Socket lesen!!!
     //...und im Memofeld ausgeben
     Memo1.Lines.Add(rec.Text);
     Memo1.Lines.Add(IntToStr(rec.Zahl));
     // AUSGABE: erste zeile nichts und zweite zeile Null :-(
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
sAibo

Registriert seit: 6. Mai 2004
20 Beiträge
 
#4

Re: Sockets -> SendBuf

  Alt 3. Jun 2004, 15:30
öhm ja =)

ich hatte es mal mit
Server.Socket.ReceiveBuf(Rec,SizeOf(Rec)); versucht... aber dass passte irgendwie nich wirklich... einfach server. weglassen... wer kommt schon auf so ne idee *g*

vielen dank nochmal, bin halt mal wieder an der eigenen dummheit gescheitert =)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz