Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi sendbuf / receivebuf - Problem (https://www.delphipraxis.net/18054-sendbuf-receivebuf-problem.html)

Wilder 13. Mär 2004 15:09


sendbuf / receivebuf - Problem
 
Ich habe folgendes Problem:
ich möchte nach feststellen der Verbindung dem Client eine Initialisierungssequenz zukommen lassen. Leider scheint das nicht zu klappen, da sich die vom Client empfangenen Daten von den gesendeten unterscheiden. Warum?

Server schickt einen einzelnen Buchstaben und ein paar Leerzeichen, das kommt jedoch an:

#$10#0#0#0#$1F#2#0#0'ÐÞB'#0'x Ã'#0

Zur Info: ich versende ein Record mit String, Int und einem Array of Char.

Client:
Delphi-Quellcode:
form1.clientsocket1.Socket.ReceiveBuf(empf_nachricht,form1.clientsocket1.Socket.ReceiveLength);
Server:
Delphi-Quellcode:
Form1.Serversocket1.Socket.Connections[0].SendBuf(Nachricht,sizeof(Nachricht));
p.s.:
ich habe mir das mal mit einem Packetsniffer angeschaut und es steht immer ein **UnReg** in den Paketen drin.

Dani 13. Mär 2004 22:08

Re: sendbuf / receivebuf - Problem
 
Hi,
Ist der String den du versendest ein Literal-String?

Falls ja würde ich trotzdem empfehlen anstatt der ClientSocket Komponente die Indys zu benutzen... da muss man sich weniger Sorgen um die Packetgröße machen.

Manzoni 13. Mär 2004 22:49

Re: sendbuf / receivebuf - Problem
 
Delphi-Quellcode:
Client:
Source:

form1.clientsocket1.Socket.ReceiveBuf(empf_nachricht,sizeof(empf_nachricht));
 
Server:
Source:
Form1.Serversocket1.Socket.Connections[0].SendBuf(Nachricht,sizeof(Nachricht));

Christian Seehase 13. Mär 2004 23:05

Re: sendbuf / receivebuf - Problem
 
Moin Wilder,

und wie sieht die Deklaration Deines Records aus, den Du da verschicken willst?
Ich habe nämlich so den Verdacht, dass der enthaltenen String ein "normaler" HugeString ist. ;-)

SirThornberry 13. Mär 2004 23:14

Re: sendbuf / receivebuf - Problem
 
Ich tipp auch mal das du in dem Record einen normalen "String" hast und somit verschickst du nur die speicheradresse

Wilder 14. Mär 2004 12:32

Re: sendbuf / receivebuf - Problem
 
Hier der Record:
Delphi-Quellcode:
type
  Nachricht_rec = record                 // Kapselt alle Daten, welche übermittelt werden sollen
    MSG_Typ : String[3];                 // Typ kann sein: MSG für nachricht, FLD für Feldbefehl
    Feld : array [1..3,1..3] of char;    // Feld-belegung
    Text : String [90];                  // Text, der übermittelt werden soll
    Name : String [20];                  // Name des Senders
  end;

Christian Seehase 14. Mär 2004 13:20

Re: sendbuf / receivebuf - Problem
 
Moin Wilder,

könntest Du bitte mal ein Beispiel für "Versendeter Record/Empfangene Daten" bringen?

Wilder 14. Mär 2004 14:02

Re: sendbuf / receivebuf - Problem
 
Liste der Anhänge anzeigen (Anzahl: 2)
habe beide Varianten durchgespielt und den Record aufgezeichnet.

Wilder 14. Mär 2004 14:03

Re: sendbuf / receivebuf - Problem
 
Falls Interesse besteht, kann ich auch die betreffenden Quellteile kopieren. Könnte nur etwas mehr werden.

Wilder 14. Mär 2004 16:24

Re: sendbuf / receivebuf - Problem
 
so doof kann man ja kaum mehr sein...
Ich hab das Falsche Memofeld addressiert.

ARGH!!
:wall:

Danke, daß ihr dennoch meine Dummheit ausgehalten habt ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz