The BufferedSocketAdapter.ReceiveData() method doesn't handle the case where socket.Receive() returns zero (i.e., socket is closed). This means that if the socket gets closed (e.g., RoboDK crashed), this method gets stuck in an infinite loop. I just encountered this, so it is definitely not just a hypothetical risk.
The
BufferedSocketAdapter.ReceiveData()method doesn't handle the case wheresocket.Receive()returns zero (i.e., socket is closed). This means that if the socket gets closed (e.g., RoboDK crashed), this method gets stuck in an infinite loop. I just encountered this, so it is definitely not just a hypothetical risk.