Autor Beitrag
FrEaKY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 235


D7
BeitragVerfasst: So 17.07.11 22:43 
Wenn ich mit Open; versuche eine Verbindung aufzubauen aber der Server (noch) nicht erreichbar ist oder einfach die Verbindung stark ausgelastet ist, kommt ja schon nach sehr kurzer Zeit ein Fehler. Der ClientSocket hat aber keine TimeOut Property. Kann man es trotzdem irgendwo einstellen?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 17.07.11 23:42 
Moin!

user profile iconFrEaKY hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich mit Open; versuche eine Verbindung aufzubauen aber der Server (noch) nicht erreichbar ist oder einfach die Verbindung stark ausgelastet ist, kommt ja schon nach sehr kurzer Zeit ein Fehler.
Du wirfst hier mehrere verschiedene Sachen in einen Topf, deshalb wirkt das unverständlich. Ist der Zielhost überhaupt erreichbar, ist der listening socket dort geöffnet, etc.pp. Je nach der Ursache ist der Timeout anders bzw. gar nicht vorhanden.

user profile iconFrEaKY hat folgendes geschrieben Zum zitierten Posting springen:
Der ClientSocket hat aber keine TimeOut Property. Kann man es trotzdem irgendwo einstellen?
Der TClientSocket überlässt diese Einstellungen dem Betriebssystem. Wenn du die Default-Connect-Timeoutzeit ändern willst, musst du in der Registry rumfummeln (wovon ich dir dringend abraten möchte).

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
FrEaKY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 235


D7
BeitragVerfasst: Mo 18.07.11 00:17 
Okay danke.
Aber beim IdTCPClient von Indy kann man halt den Timeout mit angeben:
Connect(const ATimeout: Integer = -1).
Deswegen meine Frage...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 18.07.11 00:27 
Moin!

user profile iconFrEaKY hat folgendes geschrieben Zum zitierten Posting springen:
Aber beim IdTCPClient von Indy kann man halt den Timeout mit angeben:
Connect(const ATimeout: Integer = -1).
Die arbeiten auch nicht asynchron sondern blocking mit Threads. AFAIR ist dieser spezielle Timeout nämlich gar kein Winsock-Timeout, sondern die brechen den Thread ab, wenn der nach der angegebenen Zeit nicht connected hat. :? :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
FrEaKY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 235


D7
BeitragVerfasst: Mo 18.07.11 01:26 
Aha! Das kann man doch sicherlich auch mit dem ClientSocket machen. Ich nehme mal an, der muss dann auch blocking betrieben werden wenn man es mit Thread macht?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 18.07.11 02:13 
Moin!

user profile iconFrEaKY hat folgendes geschrieben Zum zitierten Posting springen:
Das kann man doch sicherlich auch mit dem ClientSocket machen. Ich nehme mal an, der muss dann auch blocking betrieben werden wenn man es mit Thread macht?
Ähm, wozu? :nixweiss: Dann kannst du doch auch gleich die Indy-Kompo nehmen... :nut:

cu
Narses

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