The WriteLine method writes a line of text to the server
and terminates the line with a carriage-return and linefeed
control character sequence. Unlike the Write method which
writes arbitrary bytes of data to the socket, this method is
specifically designed to write a single line of text data from a
string.
If the Buffer string is terminated with a linefeed
(LF) or carriage return (CR) character, it will be automatically
converted to a standard CRLF end-of-line sequence. Because the string
will be sent with a terminating CRLF sequence, the number of
characters sent to the remote host will typically be larger than the original
string length (reflecting the additional CR and LF characters), unless
the string was already terminated with CRLF.
The WriteLine method should only be used to send text,
never binary data. In particular, the function will discard any data
that follows a null character and will append linefeed and carriage return
control characters to the data stream. Calling this this method will
force the thread to block until the complete line of text has been
written, the write operation times out or the server aborts the
connection. If this function is called with the Blocking
property set to False, it will automatically switch the socket into a
blocking mode, send the data and then restore the socket to
non-blocking mode. If another socket operation is attempted while the
WriteLine method is blocked sending data to the server,
an error will occur. It is recommended that this method only be used
with blocking socket connections.
The Write and WriteLine methods can be safely
intermixed.