![]() |
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 ^^ |
Re: sendbuf / receivebuf - Problem
oh doch es geht NOCH doofer, neulich wollt ich 'ne diskette formattieren, (ja kommt gelegentlich mal vor)und wunderte mich dass sie nicht ansprechbar war, hmm..alles klar, diskette kaputt, (habe mir angewöhnt alle disks die auch nur den leisesten "Huster" machen, wegzuwerfen)und ab in den Müll. nach der 3. "kaputten" wurde ich misstrauisch. Siehe da, :wall: ich hatte die Diskette in den 2ten Computer reingeschoben, und versuchte hartnäckig das Ding auf dem 1ten zu formattieren..........
es darf gelacht werden..... |
Re: sendbuf / receivebuf - Problem
Hallo!
Zitat:
Gruß Dietmar Brüggendiek |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 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