How NOT to write network code
It is surprising how many bombs you have waiting for you at a low enough level. Here is another piece of problematic code from the same codebase:
// Read the name. var _buffer = new byte[_len]; int _numRead; try { _numRead = stream.Read(_buffer, 0, _buffer.Length); } catch (Exception _ex) { logger.Log(string.Format("Conn: read(): {0}", _ex)); throw new SpreadException(string.Format("read(): {0}", _ex)); } // Check for not enough data. if (_numRead != _len) { logger.Log("Conn: Connection closed during connect attempt"); throw new SpreadException("Connection closed during connect attempt"); }
Can you spot the problem?

Comments
Comment preview