AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke UDP-Versand mittels TUdpSockUtil - Probleme mit Error 10054
Thema durchsuchen
Ansicht
Themen-Optionen

UDP-Versand mittels TUdpSockUtil - Probleme mit Error 10054

Ein Thema von hyype · begonnen am 5. Jul 2012 · letzter Beitrag vom 5. Jul 2012
Antwort Antwort
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#1

UDP-Versand mittels TUdpSockUtil - Probleme mit Error 10054

  Alt 5. Jul 2012, 15:46
Hallo Community!

Ich habe (wiedermal) ein Problem:
Ich habe eine TUdpSockUtil-Komponente, diese hat einen LocalPort, einen RemoteHost und einen RemotePort.
Diese dient sowohl dazu, dass verschiedene andere Programme dem Programm eine Msg schicken können,
als auch zum Versand von Msg an diese anderen Programme.
Dabei läuft er eine Liste mit IPs und Ports durch, setzt RemoteHost und RemotePort und ruft SendBuf auf,
ich geb euch mal ein Pseudo-Bsp ^^

Delphi-Quellcode:
  for i := 0 to ReceiverList.count - 1 do
  begin
    UdpSockUtil1.remotehost := ReceiverList[i].ip;
    UdpSockUtil1.remoteport := ReceiverList[i].port;
// if not UdpSockUtil1.Listen then
// begin
// UdpSockUtil1.close;
// UdpSockUtil1.open;
// end;
// if UdpSockUtil1.Listen then
    UdpSockUtil1.SendBuf(xBuf[0],length(xbuf));
  end;

(der auskommentierte Code war testweise einkommentiert ohne etwas zu bringen)
Mein Problem dabei ist folgendes:
Wenn eins der Programme, denen ich eine Msg schicken will, nicht läuft,
erhalte ich einen Error 10054, was mich ja auch nicht sonderlich verwundert.
Was mich dagegen wundert ist:
Wenn der Fehler ein paar mal gekommen ist, empfängt das Programm keine Msgs der anderen Programme mehr.
Also entweder müllt sich ein Buffer zu, den ich nicht freigeben kann oder .. ka, vlei macht Windows den Port dicht,
von dem ich sende, wenn ich ins Nirvana sende, ich weiß es nicht, auf jeden Fall ist es Mist,
weil wenn eins der Programme mal abkackt, ist das nicht weiter schlimm,
dann wird es von einem Überwachungsprogramm ggf abgeschossen und neugestartet,
aber dass ein anderes Programm, was noch läuft, keine Msgs mehr empfangen kann deswegen, ist ein kritischer Zustand!
Hat jmd eine Idee?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: UDP-Versand mittels TUdpSockUtil - Probleme mit Error 10054

  Alt 5. Jul 2012, 16:00
Hallo,

mich wunder es schon, dass diese Meldung kommt.
UDP ist ein verbindungsloses Protokoll, d.h. es schert sich nicht darum
ob die Gegenstelle vorhanden ist.

Kannst Du die Exception abfangen (try - except -end)?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#3

AW: UDP-Versand mittels TUdpSockUtil - Probleme mit Error 10054

  Alt 5. Jul 2012, 16:31
der error kommt nicht hoch, es wird halt ein onerror-event aufgerufen, wo der fehler mitgeloggt wird

und:
ich habe es gefunden:
wenn der fehler kommt, wird das receive-event ausgelöst und die länge dessen, was er empfängt, ist 1
und dort stand vor dem auslesen des buffers if receivelength < 2 then exit;
er hat also schlicht und ergreifend den buffer nicht geleert und der war zugemüllt...
zugegeben dumm, das nicht schon eher gesehen zu haben...

SORRY FÜR DEN POST!!!
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz