![]() |
Seltsames Problem mit TNMUdp (FastNet)
Hallo Leute,
Eigentlich wollte ich nur Nachrichten zwischen 2 Programmen austauschen, wobei das eine einen festen Port belegt und das andere darauf zugreift. Also ich habe 2 Programme mit jeweils einer TNMUdp-Komponente und einem Label. Hinzu verwende ich folgenden Code : Programm 1 (nicht feste IP) - Wenn der Button geklickt wird, dann wird der Text gesendet.
Code:
Programm2 (mit festem Port)
procedure TForm1.Button1Click(Sender: TObject);
var TmpStr: String; buffer:array[0..25]of Char; I:Integer; Begin Client.ReportLevel := Status_Basic; Client.RemoteHost := '192.168.0.3'; Client.RemotePort := 1024; // fester Port des anderen Programms TmpStr := 'Hallo'; for I:= 1 to Length(TMPStr) do buffer[i-1]:=tmpstr[i]; Client.SendBuffer(buffer,Length(TmpStr)); end; procedure TForm1.ClientDataReceived(Sender: TComponent; NumberBytes: Integer; FromIP: String; Port: Integer); var Buffer : array [0..3000] of Char; I : Integer; begin for I := 0 to High(Buffer) do Buffer[I] := Chr(0); Client.ReadBuffer(Buffer,NumberBytes); Label1.Caption := ''; for I := 0 to High(Buffer) do Label1.Caption := Label1.Caption + Buffer[I]; end;
Code:
Kann mir jemand sagen wieso bei Programm nur ein leerer String ankommt? Es komm nämlich eine solcher leerer String an, aber eben ohne Inhalt. Kann den Code mal jemand testen und mir vielleicht Bescheid sagen? Danke
procedure TForm1.internDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer); var I : Integer; begin Form1.Caption := ''; Form1.Caption := 'Message kam von : ' + Client_IP + ':' + IntToStr(Client_Port); for I := 0 to High(Buf) do Buf := Chr(0); intern.ReadBuffer(Buf,NumberBytes); Label1.Caption := ''; Label1.Caption := 'String von Client : '; for I := 0 to High(Buf) do Label1.Caption := Label1.Caption + Buf[I]; intern.ReportLevel := Status_Basic; intern.RemoteHost := Client_IP; intern.RemotePort := Client_Port; intern.SendBuffer(Buf,Length(Buf)); end; Urba |
kann mir denn wirklich niemand helfen?
|
Moin Urba,
ich hab's mal eben bei mir ausprobiert. Klappt allerbest ;-) Bist Du sicher, dass die IP und/oder Portangabe richtig ist? Hast Du auch bei der Kompo intern den Local Port auf 1024 stehen, nicht den Remoteport? |
willst du nur text verschiecken??
wenn ja würde ich dir vorschlagen einen Stream zu senden. das hab ich schon mehrmals ausprobiert und klappt ausgezeichnet. kann dir dabei helfen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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