Hallo,
vielleicht kann mir jemand einen Tipp geben. Ich benötige eine TCP/IP Verbindung zu einer Serveranwendung, welche wiederum mit einem Messgerät kommuniziert. Die passend Komponente wäre aus meiner Sicht TTcpClient (C++Builder 2007 R2, TClientSocket wird nicht mehr automatisch mitinstalliert).
Die Kommunikation läuft über eigene Threads ab (wie dokumentiert).
Der TTcpClient läuft im Blocking-Mode (wie der Server), und damit beginnt mein Problem. Wenn ich mit WaitForData (eine TTcpClient-methode) darauf warte, dass der Server bereit, dann läuft WaitForData immer ins TimeOut, egal welche Zeit Wartezeit ich vorgebe. Ignoriere ich WaitForData, dann kann ich problemlos mit der SendBuf-Methode des TcpClients Daten (ASCII-Zeichen) zum Server schieben und dieser antwortet auch entsprechend.
Leider kann ich nur diese Daten (ebenfalls ASCII) nicht mit meiner Anwendung lesen, da ein erneutes WaitForData oder ein ReceiveBuf wieder in TimeOut läuft.
Habe schon verschiedene Generationen C++ Dokus mir angeschaut, aber anscheinend habe ich da immer noch was übersehen.
Kann jemand helfen?
Danke, Ralf
vielleicht kann mir jemand einen Tipp geben. Ich benötige eine TCP/IP Verbindung zu einer Serveranwendung, welche wiederum mit einem Messgerät kommuniziert. Die passend Komponente wäre aus meiner Sicht TTcpClient (C++Builder 2007 R2, TClientSocket wird nicht mehr automatisch mitinstalliert).
Die Kommunikation läuft über eigene Threads ab (wie dokumentiert).
Der TTcpClient läuft im Blocking-Mode (wie der Server), und damit beginnt mein Problem. Wenn ich mit WaitForData (eine TTcpClient-methode) darauf warte, dass der Server bereit, dann läuft WaitForData immer ins TimeOut, egal welche Zeit Wartezeit ich vorgebe. Ignoriere ich WaitForData, dann kann ich problemlos mit der SendBuf-Methode des TcpClients Daten (ASCII-Zeichen) zum Server schieben und dieser antwortet auch entsprechend.
Leider kann ich nur diese Daten (ebenfalls ASCII) nicht mit meiner Anwendung lesen, da ein erneutes WaitForData oder ein ReceiveBuf wieder in TimeOut läuft.
Habe schon verschiedene Generationen C++ Dokus mir angeschaut, aber anscheinend habe ich da immer noch was übersehen.
Kann jemand helfen?
Danke, Ralf
Comment