Write Method  

Write data to the server.


object.Write( Buffer, [Length] )


A buffer variable that contains the data to be written to the server. If the variable is a String type, then the data will be written as a string of characters. This is the most appropriate data type to use if the server expects text data that consists of printable characters. If the server is expecting binary data, it is recommended that a Byte array be used instead.
A numeric value which specifies the number of bytes to write. Its maximum value is 231-1 = 2147483647. If a value is specified for this argument and it is greater than the actual size of the buffer, then the Length argument will be ignored and the entire contents of the buffer will be written. If the argument is omitted, then the maximum number of bytes to write is determined by the size of the buffer.

Return Value

This method returns the number of bytes actually written to the server, or -1 if an error was encountered.


The Write method sends the data in buffer to the server. If the connection is buffered, as is typically the case, the data is copied to the send buffer and control immediately returns to the program. If the control is blocking, the application will wait until the data can be sent. If the control is non-blocking and the write fails because it could not send all of the data to the server, the OnWrite event will be fired when the server can accept data again.


If the data contains binary characters, particularly non-printable control characters and embedded nulls, you should always provide a Byte array to the Write method. When you provide a String variable as the buffer, the control will process the data as text. If the string contains Unicode characters, it will automatically be converted to UTF-8 (8-bit) encoded text prior to being written. Using a byte array ensures that binary data will be sent as-is without being encoded.

See Also

IsConnected Property, IsWritable Property, Timeout Property, Read Method, OnWrite Event