Ich habe ein Problem mit der Socketverbindung. (Version 1.9 SL1)
Ich habe einen Barcodeleser der immer dann sendet wenn jemand einen Barcode hinhält. Der Verbindungsaufbau passt.
Ich erhalte auch den Barcode zurück. Wenn ich das Programm so laufen lasse, so erhalte ich am Anfang den Barcode. Nach ca. 1 min erhalte ich keine Daten mehr von dem Barcode, obwohl die Verbindung noch steht. Kein Errocode, und nBytes = 0, da durch den ausgeschalteten Blockingmodus keine Wartezeit bei Socketrecv vorhanden ist. Am Barcodeleser kann es nicht liegen, denn wenn ich ein VB.net Programm nehme, und mache dort das selbe, so bekomme ich auch nach einer längerer Zeit noch Daten angezeigt.
Der Barcode ist 10 Zeichen lang, 8 Digit + CR + LF.
Code: Alles auswählen
nSocket := SocketOpen( SOCK_STREAM, cServer, nPort, @nError )
lSuccess := SocketSetBlockingMode( nSocket, .f. ) --> lSuccess
do while .t. // for ever zum testen
cBuffer := space(40)
nBytes := SocketRecv( nSocket, @cLength, 44, ,@nError )
if nBytes > 0
msgbox("Daten vorhanden")
endif
sleep(100)
enddo
SocketClose( nSocket )
Ganz so einfach scheint es mit der Socketverbindung dann auch nicht zu sein. Ich sehe hier keinen Fehler wie so das ganze vielleicht dreimal geht, und dann plötzlich nicht mehr.
Hat jemand eine Idee?
Gruß
Bernd