А если печатать сообщение в лог нужно только если его можно отправить, то вообще так можно

## Код:
```
string message;

message = TCPStreamIO.ReceiveString(POSIPStream);

while (message != null && SrvIPStream != null && SrvIPStream.CanWrite)
{
   safeLogAppend(message);
   TCPStreamIO.SendMsg(SrvIPStream, message + "\n");
   message = TCPStreamIO.ReceiveString(POSIPStream);
}
```
