![]() |
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:
Server:
form1.clientsocket1.Socket.ReceiveBuf(empf_nachricht,form1.clientsocket1.Socket.ReceiveLength);
Delphi-Quellcode:
p.s.:
Form1.Serversocket1.Socket.Connections[0].SendBuf(Nachricht,sizeof(Nachricht));
ich habe mir das mal mit einem Packetsniffer angeschaut und es steht immer ein **UnReg** in den Paketen drin. |
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. |
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)); |
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. ;-) |
Re: sendbuf / receivebuf - Problem
Ich tipp auch mal das du in dem Record einen normalen "String" hast und somit verschickst du nur die speicheradresse
|
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; |
Re: sendbuf / receivebuf - Problem
Moin Wilder,
könntest Du bitte mal ein Beispiel für "Versendeter Record/Empfangene Daten" bringen? |
Re: sendbuf / receivebuf - Problem
Liste der Anhänge anzeigen (Anzahl: 2)
habe beide Varianten durchgespielt und den Record aufgezeichnet.
|
Re: sendbuf / receivebuf - Problem
Falls Interesse besteht, kann ich auch die betreffenden Quellteile kopieren. Könnte nur etwas mehr werden.
|
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. |
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