AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi [Indy10] Fehler beim senden mit UDP - Daten kommen zurück

[Indy10] Fehler beim senden mit UDP - Daten kommen zurück

Ein Thema von emteg · begonnen am 9. Mai 2010 · letzter Beitrag vom 12. Mai 2010
 
emteg

Registriert seit: 16. Jun 2005
71 Beiträge
 
Delphi 2009 Architect
 
#1

[Indy10] Fehler beim senden mit UDP - Daten kommen zurück

  Alt 9. Mai 2010, 23:29
Ich habe hier grade ein merkwürdiges und asymmetrisches problem: Ich versuche per UDPClient.Send() einen String an einen Host zu senden. Am anderen Ende kommt nichts an, dafür geht aber sofort auf der sender-seite die UDPServer.OnRead methode auf und erhält die daten, die ich grade gesendet habe. Außerdem behauptet der UDPServer noch, dass die daten von der IP kommen, wo sie eigentlich hin sollten.

Server und client sind broadcast enabled, broadcasts kommen auch in beide richtungen problemlos an.

Delphi-Quellcode:
// Senden
procedure TConnection.Send(Msg, IP: String);
begin
  FUDPClient.Host := IP;
  FUDPClient.Send(Msg);
end;

//Empfangen
procedure TConnection.OnUDPRead(AThread: TIdUDPListenerThread; AData: TBytes;
  ABinding: TIdSocketHandle);
var
  i: integer;
  s: String;
begin
  s := '';

  for i := 0 to Length(AData) - 1 do
    s := s + Chr(AData[i]);

  // << Tue Dinge mit s >>
end;
Jetzt wirds noch ne stufe merkwürdiger: ich habe das gleiche problem, wenn ich das ganze über TCP versuche. Beim empfänger kommt nichts an, dafür springt sofort meine OnExecute methode an, die behauptet sie hätte daten vom zielhost empfangen.
Allerdings muss ich dazu sagen, dass ich mit dem indy10 TCP nocht nicht so ganz firm bin

Delphi-Quellcode:
// Senden
procedure TConnection.Send(Msg, IP: String);
begin
  FTCPClient.Host := IP;
  FTCPClient.IOHandler.Open;
  FTCPClient.IOHandler.WriteLn(Msg);
end;

// Empfangen
procedure TConnection.OnExecute(AContext: TIdContext);
var s: string;
begin
  s := AContext.Connection.IOHandler.ReadLn;

  // << Tue dinge mit s >>
end;
Ich blick da grade echt nicht mehr durch. Mache ich irgendwelche dinge bzgl. indy 10 falsch?
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:50 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 by Thomas Breitkreuz