Chilkat Socket Thread-Safety

Question: In my Visual FoxPro program, accessing the IsConnected property on a ChilkatSocket hangs when a “ReceiveUntilByteBdAsync” is run immediately after connecting the socket. Here is a minimal reproducible example: LOCAL loSocket loSocket = CreateObject(‘Chilkat_9_5_0.Socket’) loSocket.connect(‘127.0.0.1’, 8945, .f., 5000) &&used external socket server to be sure it was unrelated loBinData = CreateObject(‘Chilkat_9_5_0.BinData’) loTask = loSocket.ReceiveUntilByteBdAsync(ASC(‘Z’), loBinData) ?loSocket.IsConnected &&works loTask.run() ?loSocket.IsConnected […]

Socket Programming – “Must-Know” Concepts

If you’re just starting to program with TCP connected sockets using the Chilkat Socket API, then these concepts should be understood before beginning. 1. Receiving Data from a Connected Socket. The ReceiveBytes and ReceiveString methods will return whatever data has already arrived and is available on the connected socket.  It is not guaranteed to return the complete amount of data […]