The TCP recv even in blocking mode is guaranteed only to wait for single byte. It can return with les bytes read than requested and if the data are delivered in packets not exactly aligned to the N * 8 bytes equivalent to configured number of signals then RT scope fails with message like
data = self.st.unpack(buf)
struct.error: unpack requires a buffer of 24 bytes
The TCP recv even in blocking mode is guaranteed only to wait for single byte. It can return with les bytes read than requested and if the data are delivered in packets not exactly aligned to the N * 8 bytes equivalent to configured number of signals then RT scope fails with message like