Autor Beitrag
jjturbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Mo 19.12.16 14:41 
Moin Forum,

wenn ich mit
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var myUDPSocket :TUDPSocket;
    buf         :Array[0..18of Byte;
begin
 myUDPSocket.ReceiveBuf(buf,Length(buf),0);


versuche Daten zum empfangen obwohl am Socket noch nichts vorhanden ist, dann bleibt das Programm in der Zeile hängen.

Laut Hilfe sollte es doch funktionen wenn man es so löst:
ausblenden Delphi-Quelltext
1:
2:
  if myUDPSocket.WaitForData(1000)
   then myUDPSocket.ReceiveBuf(buf,Length(buf),0);


Dann sollte das Programm auch ohne Daten nach einem TimeOut von 1000ms weiter laufen?

Ich hoffe Ihr könnt mir weiterhelfen?

_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 20.12.16 05:21 
Moin!

user profile iconjjturbo hat folgendes geschrieben Zum zitierten Posting springen:
versuche Daten zum empfangen obwohl am Socket noch nichts vorhanden ist, dann bleibt das Programm in der Zeile hängen.
Das ist "normal", deshalb arbeitet man hier normalerweise mit Threads.

user profile iconjjturbo hat folgendes geschrieben Zum zitierten Posting springen:
Laut Hilfe sollte es doch funktionen wenn man es so löst:
ausblenden Delphi-Quelltext
1:
2:
  if myUDPSocket.WaitForData(1000)
   then myUDPSocket.ReceiveBuf(buf,Length(buf),0);

Dann sollte das Programm auch ohne Daten nach einem TimeOut von 1000ms weiter laufen?
Wenn die Hilfe sowas behauptet und es doch nicht funktioniert, frag den Autor der Hilfe (oder schau in die WSA-Doku und den Komponenten-Quelltext). :nixweiss:

Ist das die Delphi-Bordkomponente? Wenn ja, dann sagt meine Erinnerung, dass diese konzeptionell "defekt" (im Sinne von unbrauchbar) ist. Leider erinnere ich mich aber nicht mehr an Details, warum. :gruebel: Jedenfalls war das der Grund, warum ich damals meine eigene UDP-Komponente entwickelt habe. :idea: Ich hab's irgendwann aufgegeben verstehen zu wollen, wie das funktionieren soll... :nut:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.