Mentalis.org Security Library documentation

VirtualSocket.Send Method (Byte[], Int32, Int32, SocketFlags)

Sends data to a connected VirtualSocket, starting at the indicated location in the data.

[Visual Basic]
Overridable Overloads Public Function Send( _
   ByVal buffer As Byte(), _
   ByVal offset As Integer, _
   ByVal size As Integer, _
   ByVal socketFlags As SocketFlags _
) As Integer
[C#]
public virtual int Send(
   byte[] buffer,
   int offset,
   int size,
   SocketFlags socketFlags
);

Parameters

buffer
The data to be sent.
offset
The position in the data buffer to begin sending data.
size
The number of bytes to send.
socketFlags
A bitwise combination of the SocketFlags values.

Return Value

The number of bytes sent to the VirtualSocket.

Remarks

Use Send for connection-oriented protocols only. For connectionless protocols, either use SendTo or call Connect first, and then call Send.

This overload gives you the flexibility to specify the Send starting position in the data buffer, the number bytes you are sending, and the necessary SocketFlags.

You must set the LocalEndPoint property of the current instance before calling this method.

If you specify the DontRoute flag as the socketflags parameter, the data you are sending will not be routed. If you specify the OutOfBand flag as the socketflags parameter, only out-of-band (OOB) data is sent.

If you set the Blocking property to true, and buffer space is not available within the underlying protocol, this method blocks.

If you are using a message-oriented Socket, and the size of the buffer is greater than the maximum message size of the underlying protocol, no data is sent and Socket will throw a SocketException.

Exceptions

Exception TypeCondition
ArgumentNullExceptionbuffer is a null reference (Nothing in Visual Basic).
ArgumentOutOfRangeExceptionThe offset or size parameter exceeds the size of buffer.
SocketExceptionAn operating system error occurs while accessing the socket.
ObjectDisposedExceptionThe VirtualSocket has been closed.

See Also

VirtualSocket Class | Org.Mentalis.Security.Ssl Namespace | VirtualSocket.Send Overload List