![]() |
AW: Wo im Client auf Nachrichten vom Server warten?
Ich bin so ein bisschen auf Indy eingeschossen.
Sprich... ich habe hier nen haufen Code für Indy geschrieben... Also kann ein Lese-thread und ein Schreib-Thread in einem Indy-TCPClient nicht wirklich zeitgleich lesen und schreiben, sondern eben nur entweder oder? Also muss ich das Scheduling mit Sleep(1) anstupsen und timeperiodBegin auf 1ms runtersetzen und kleinere chunks lesen /schreiben , damit es sich "kontinuierlich" anfühlt, während ich mit Tmonitor absicher das niemals lesen und schrieben gleichzeitig in einem Client stadtfinden? Es ist quasi das selben wie mit einem einzige thread in dem abwechselnd gelesen und geschrieben wird in einer Terminate-Schleife? |
AW: Wo im Client auf Nachrichten vom Server warten?
Zitat:
ICS hat noch andere Vorteile, unter anderem dass eine aktuelle OpenSSL-Version verwendet wird. |
AW: Wo im Client auf Nachrichten vom Server warten?
Zitat:
Sie liest aus derselben Connection in einem separaten Thread eingehende Nachrichten vom Telnet-Server, und und im Hauptthread schreibt sie ausgehende Nachrichten an ihn. Das geht natürlich nur, wenn das Protokoll nicht auf Request/Response basiert. Telnet ist nicht Request/Response-basiert. |
AW: Wo im Client auf Nachrichten vom Server warten?
Gleichzeitig senden und empfangen?
Aber nicht zum gleich Ziel, oder? Das klingt mir nach 2 Verbindungen. Wenn es das selbe Ziel ist - kann das den der Server? Ein bisschen mehr Background könnte helfen. Mavarik |
AW: Wo im Client auf Nachrichten vom Server warten?
Ich mein TCP handelt doch immer einen Port for die eine richtung und einen für die andere, das richtung aus oder?
Also müsste ich doch einen Empfangsthread
Delphi-Quellcode:
und einen Sendethread betreiben können.
If Client.IOHandler.InputBufferIsEmpty then
Begin Client.IOHandler.CheckForDataOnSource(1000);// vielleicht nur 10 ms pro durchlauf? Client.IOHandler.CheckForDisconnect(False); if Client.IOHandler.InputBufferIsEmpty then Exit; end; var IDbytes:TidBytes; Client.IOHandler.InputBuffer.ExtractToBytes( IDbytes ); |
AW: Wo im Client auf Nachrichten vom Server warten?
Naja ich frag nochmal:
Was willst Du erreichen? |
AW: Wo im Client auf Nachrichten vom Server warten?
Das ist in etwas die Architektur
Code:
Peer sendet Kontinuirlich Messages in "TCP+Proprietär" oder HTTP-SOAP je nach setup.
Legende:
Client -> Server Server <- Client Achritektur: Peer/TCPClient -> RelayServer <- RelayClient -> Server/TCPServer Peer erwartet Antworten. Es geht mit um den RelayClient, er muss kontinuirlich TCP traffic egal wie er geformt ist in beide Richtungen in verarbeiteter Form durchleiten. Verarbeitung ist notwendig da Peer-Informationen an den Daten hängen die von RelayServer an RelayClient gehen und wieder zurück. Ich arbeite gerade am RelayClient. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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