SendResponse Method  

Send a result code and message to the client in response to a command.


object.SendResponse( ClientId, ResultCode, [Buffer], [Length] )


An integer that identifies the client session.
An integer value that specifies the command result code to be returned to the client.
An optional string or byte array that contains data that should be returned to the client in response to a request. If the server does not wish to send any response data to the client, this parameter can be omitted.
An optional integer value that specifies the number of bytes of data that should be sent to the client. If this parameter is omitted, the number of bytes sent is determined by the length of the string buffer or number of bytes in the byte array provided by the caller. This parameter is ignored if no response data is provided.

Return Value

A value of zero is returned if the response was sent to the client. Otherwise, a non-zero error code is returned which indicates the cause of the failure.


The SendResponse method is used to respond to a command issued by the client from within an OnCommand event handler. Command responses are normally handled by the server as a normal part of processing a command and this method is only used if the application has implemented custom commands or wishes to modify the standard responses sent by the server.

Result codes must be three digits (in the range of 100 through 999) and although this method will support the use of non-standard result codes, it is recommended that the client application use the standard codes defined in RFC 2616 whenever possible. The use of non-standard result codes may cause problems with HTTP clients that expect specific result codes in response to a particular command.

If you do not wish to return any data to the client in response to its request (for example, if you want the response to only consist of the headers set using the SetHeader method), then you can omit the Buffer and Length parameter, and should specify a result code of 204. This tells the client that the request was successful and there is no data included with the response.

This method should only be called once in response to a command sent by the client. If a result code has already been sent in response to a command and this method is called, it will fail and return an error. This is necessary because sending multiple result codes in response to a single command may cause unpredictable behavior by the client.

See Also

OnCommand Event, OnResult Event