Ну хорошо, вот в результате что получилось:## Код:
```
string ReceiveAndLogString(Stream stream)
    {
        string message = TCPStreamIO.ReceiveString(stream);
        safeLogAppend(message);
        return message;
    }

    ...

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

Действительно ли это лучше, чем первоначальный вариант:## Код:
```
string message;

            while ((message = TCPStreamIO.ReceiveString(POSIPStream)) != null)
            {
                safeLogAppend(message);
                if (SrvIPStream != null && SrvIPStream.CanWrite)
                {
                    TCPStreamIO.SendMsg(SrvIPStream, message + "\n");
                }
                else
                    break; // Отправлять некому, закончим работу
            }
```
