System.Net.Sockets Represents an element in a array. Initializes a new instance of the class using the specified buffer. A byte array of data to send using the method. The buffer parameter cannot be null Initializes a new instance of the class using the specified file. The filename of the file to be transmitted using the method. The filepath parameter cannot be null Initializes a new instance of the class using the specified buffer, buffer offset, and count. A byte array of data to send using the method. The offset, in bytes, from the beginning of the buffer to the location in the buffer to start sending the data specified in the buffer parameter. The number of bytes to send starting from the offset parameter. If count is zero, no bytes are sent. The buffer parameter cannot be null The offset and count parameters must be greater than or equal to zero. The offset and count must be less than the size of the buffer Initializes a new instance of the class using the specified filename path, offset, and count. The filename of the file to be transmitted using the method. The offset, in bytes, from the beginning of the file to the location in the file to start sending the file specified in the filepath parameter. The number of bytes to send starting from the offset parameter. If count is zero, the entire file is sent. The filepath parameter cannot be null The offset and count parameters must be greater than or equal to zero. The offset and count must be less than the size of the file indicated by the filepath parameter. Initializes a new instance of the class using the specified buffer, buffer offset, and count with an option to combine this element with the next element in a single send request from the sockets layer to the transport. A byte array of data to send using the method. The offset, in bytes, from the beginning of the buffer to the location in the buffer to start sending the data specified in the buffer parameter. The number bytes to send starting from the offset parameter. If count is zero, no bytes are sent. A Boolean value that specifies that this element should not be combined with the next element in a single send request from the sockets layer to the transport. This flag is used for granular control of the content of each message on a datagram or message-oriented socket. The buffer parameter cannot be null The offset and count parameters must be greater than or equal to zero. The offset and count must be less than the size of the buffer Initializes a new instance of the class using the specified filename path, buffer offset, and count with an option to combine this element with the next element in a single send request from the sockets layer to the transport. The filename of the file to be transmitted using the method. The offset, in bytes, from the beginning of the file to the location in the file to start sending the file specified in the filepath parameter. The number of bytes to send starting from the offset parameter. If count is zero, the entire file is sent. A Boolean value that specifies that this element should not be combined with the next element in a single send request from the sockets layer to the transport. This flag is used for granular control of the content of each message on a datagram or message-oriented socket. The filepath parameter cannot be null The offset and count parameters must be greater than or equal to zero. The offset and count must be less than the size of the file indicated by the filepath parameter. Gets the buffer to be sent if the class was initialized with a buffer parameter. The byte buffer to send if the class was initialized with a buffer parameter. Gets the count of bytes to be sent. The count of bytes to send if the class was initialized with a count parameter. Gets a Boolean value that indicates if this element should not be combined with the next element in a single send request from the sockets layer to the transport. A Boolean value that indicates if this element should not be combined with the next element in a single send request. Gets the filename of the file to send if the class was initialized with a filepath parameter. The filename of the file to send if the class was initialized with a filepath parameter. Gets the offset, in bytes, from the beginning of the data buffer or file to the location in the buffer or file to start sending the data. The offset, in bytes, from the beginning of the data buffer or file to the location in the buffer or file to start sending the data. Implements the Berkeley sockets interface. Initializes a new instance of the class using the specified value returned from . The socket information returned by . Initializes a new instance of the class using the specified socket type and protocol. One of the values. One of the values. The combination of socketType and protocolType results in an invalid socket. Initializes a new instance of the class using the specified address family, socket type and protocol. One of the values. One of the values. One of the values. The combination of addressFamily, socketType, and protocolType results in an invalid socket. Creates a new for a newly created connection. A for a newly created connection. An error occurred when attempting to access the socket. The has been closed. The accepting socket is not listening for connections. You must call and before calling . Begins an asynchronous operation to accept an incoming connection attempt. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. An argument is not valid. This exception occurs if the buffer provided is not large enough. The buffer must be at least 2 * (sizeof(SOCKADDR_STORAGE + 16) bytes. This exception also occurs if multiple buffers are specified, the property is not null. An argument is out of range. The exception occurs if the is less than 0. An invalid operation was requested. This exception occurs if the accepting is not listening for connections or the accepted socket is bound. You must call the and method before calling the method. This exception also occurs if the socket is already connected or a socket operation was already in progress using the specified e parameter. An error occurred when attempting to access the socket. Windows XP or later is required for this method. The has been closed. Gets the address family of the . One of the values. Gets the amount of data that has been received from the network and is available to be read. The number of bytes of data received from the network and available to be read. An error occurred when attempting to access the socket. The has been closed. Begins an asynchronous operation to accept an incoming connection attempt from a specified socket and receives the first block of data sent by the client application. The accepted object. This value may be null. The maximum number of bytes to receive. The delegate. An object that contains state information for this request. An object that references the asynchronous object creation. The object has been closed. Windows NT is required for this method. The accepting socket is not listening for connections. You must call and before calling . -or- The accepted socket is bound. receiveSize is less than 0. An error occurred when attempting to access the socket. Begins an asynchronous operation to accept an incoming connection attempt and receives the first block of data sent by the client application. The number of bytes to accept from the sender. The delegate. An object that contains state information for this request. An that references the asynchronous creation. The object has been closed. Windows NT is required for this method. The accepting socket is not listening for connections. You must call and before calling . -or- The accepted socket is bound. receiveSize is less than 0. An error occurred when attempting to access the socket. Begins an asynchronous operation to accept an incoming connection attempt. The delegate. An object that contains state information for this request. An that references the asynchronous creation. The object has been closed. Windows NT is required for this method. The accepting socket is not listening for connections. You must call and before calling . -or- The accepted socket is bound. receiveSize is less than 0. An error occurred when attempting to access the socket. Begins an asynchronous request for a remote host connection. The delegate. An object that contains state information for this request. An that references the asynchronous connection. remoteEP is null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. The is ing. Begins an asynchronous request for a remote host connection. The host is specified by an and a port number. The of the remote host. The port number of the remote host. A user-defined object that contains information about the connect operation. This object is passed to the requestCallback delegate when the operation is complete. An that references the asynchronous connection. address is null. An error occurred when attempting to access the socket. The has been closed. The is not in the socket family. The port number is not valid. The length of address is zero. The is ing. Begins an asynchronous request for a remote host connection. The host is specified by an array and a port number. At least one , designating the remote host. The port number of the remote host. A user-defined object that contains information about the connect operation. This object is passed to the requestCallback delegate when the operation is complete. An that references the asynchronous connections. addresses is null. An error occurred when attempting to access the socket. The has been closed. This method is valid for sockets that use or . The port number is not valid. The length of address is zero. The is ing. Begins an asynchronous request for a remote host connection. The host is specified by a host name and a port number. The name of the remote host. The port number of the remote host. A user-defined object that contains information about the connect operation. This object is passed to the requestCallback delegate when the operation is complete. An that references the asynchronous connection. host is null. The has been closed. This method is valid for sockets in the or families. The port number is not valid. The is ing. Begins an asynchronous request to disconnect from a remote endpoint. true if this socket can be reused after the connection is closed; otherwise, false. The delegate. An object that contains state information for this request. An object that references the asynchronous operation. The operating system is Windows 2000 or earlier, and this method requires Windows XP. The object has been closed. An error occurred when attempting to access the socket. Begins to asynchronously receive data from a connected . An array of type that is the storage location for the received data. The location in buffer to store the received data. The number of bytes to receive. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the receive operation. This object is passed to the delegate when the operation is complete. An that references the asynchronous read. buffer is null. An error occurred when attempting to access the socket. has been closed. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. Begins to asynchronously receive data from a connected . An array of type that is the storage location for the received data. The zero-based position in the buffer parameter at which to store the received data. The number of bytes to receive. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the receive operation. This object is passed to the delegate when the operation is complete. An that references the asynchronous read. buffer is null. An error occurred when attempting to access the socket. has been closed. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. Begins to asynchronously receive data from a connected . An array of type that is the storage location for the received data. A bitwise combination of the values. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the receive operation. This object is passed to the delegate when the operation is complete. An that references the asynchronous read. buffer is null. An error occurred when attempting to access the socket. has been closed. Begins to asynchronously receive data from a connected . An array of type that is the storage location for the received data. A bitwise combination of the values. A object that stores the socket error. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the receive operation. This object is passed to the delegate when the operation is complete. An that references the asynchronous read. buffer is null. An error occurred when attempting to access the socket. has been closed. Begins to asynchronously receive data from a specified network device. An array of type that is the storage location for the received data. The zero-based position in the buffer parameter at which to store the data. The number of bytes to receive. The delegate. An object that contains state information for this request. An that references the asynchronous read. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. The has been closed. A caller higher in the call stack does not have permission for the requested operation. Begins to asynchronously receive the specified number of bytes of data into the specified location of the data buffer, using the specified , and stores the endpoint and packet information.. An array of type that is the storage location for the received data. The zero-based position in the buffer parameter at which to store the data. The number of bytes to receive. A bitwise combination of the values. An that represents the source of the data. The delegate. An object that contains state information for this request. An that references the asynchronous read. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. The has been closed. The operating system is Windows 2000 or earlier, and this method requires Windows XP. Sends data asynchronously to a connected . An array of type that contains the data to send. A bitwise combination of the values. The delegate. An object that contains state information for this request. An that references the asynchronous send. buffers is null. buffers is empty. An error occurred when attempting to access the socket. See remarks section below. The has been closed. Sends data asynchronously to a connected . An array of type that contains the data to send. A bitwise combination of the values. A object that stores the socket error. The delegate. An object that contains state information for this request. An that references the asynchronous send. buffers is null. buffers is empty. An error occurred when attempting to access the socket. See remarks section below. The has been closed. Sends data asynchronously to a connected . An array of type that contains the data to send. The zero-based position in the buffer parameter at which to begin sending data. The number of bytes to send. The delegate. An object that contains state information for this request. An that references the asynchronous send. buffer is null. An error occurred when attempting to access the socket. See remarks section below. offset is less than 0. -or- offset is less than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. The has been closed. Sends data asynchronously to a connected . An array of type that contains the data to send. The zero-based position in the buffer parameter at which to begin sending data. The number of bytes to send. A bitwise combination of the values. A object that stores the socket error. The delegate. An object that contains state information for this request. An that references the asynchronous send. buffer is null. An error occurred when attempting to access the socket. See remarks section below. offset is less than 0. -or- offset is less than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. The has been closed. Sends the file fileName to a connected object using the flag. A string that contains the path and name of the file to send. This parameter can be null. The delegate. An object that contains state information for this request. An object that represents the asynchronous send. The object has been closed. The socket is not connected to a remote host. The file fileName was not found. An error occurred when attempting to access the socket. See remarks section below. Sends a file and buffers of data asynchronously to a connected object. A string that contains the path and name of the file to be sent. This parameter can be null. A array that contains data to be sent before the file is sent. This parameter can be null. A array that contains data to be sent after the file is sent. This parameter can be null. A bitwise combination of values. An delegate to be invoked when this operation completes. This parameter can be null. A user-defined object that contains state information for this request. This parameter can be null. An object that represents the asynchronous operation. The object has been closed. An error occurred when attempting to access the socket. See remarks section below. The operating system is not Windows NT or later. - or - The socket is not connected to a remote host. The file fileName was not found. Sends data asynchronously to a specific remote host. An array of type that contains the data to send. The zero-based position in buffer at which to begin sending data. The number of bytes to send. The delegate. An object that contains state information for this request. An that references the asynchronous send. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. The has been closed. A caller higher in the call stack does not have permission for the requested operation. Associates a with a local endpoint. The local to associate with the . localEP is null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. Gets or sets a value that indicates whether the is in blocking mode. true if the will block; otherwise, false. The default is true. An error occurred when attempting to access the socket. The has been closed. Cancels an asynchronous request for a remote host connection. The object used to request the connection to the remote host by calling one of the methods. The e parameter cannot be null and the cannot be null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. Closes the connection and releases all associated resources with a specified timeout to allow queued data to be sent. Wait up to timeout seconds to send any remaining data, then close the socket. Closes the connection and releases all associated resources. Establishes a connection to a remote host. An that represents the remote device. remoteEP is null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. The is ing. Establishes a connection to a remote host. The host is specified by an IP address and a port number. The IP address of the remote host. The port number of the remote host. address is null. The port number is not valid. An error occurred when attempting to access the socket. The has been closed. This method is valid for sockets in the or families. The length of address is zero. The is ing. Establishes a connection to a remote host. The host is specified by an array of IP addresses and a port number. The IP addresses of the remote host. The port number of the remote host. addresses is null. The port number is not valid. An error occurred when attempting to access the socket. The has been closed. This method is valid for sockets in the or families. The length of address is zero. The is ing. Establishes a connection to a remote host. The host is specified by a host name and a port number. The name of the remote host. The port number of the remote host. host is null. The port number is not valid. An error occurred when attempting to access the socket. The has been closed. This method is valid for sockets in the or families. The is ing. Begins an asynchronous request for a connection to a remote host. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. An argument is not valid. This exception occurs if multiple buffers are specified, the property is not null. The e parameter cannot be null and the cannot be null. The is listening or a socket operation was already in progress using the object specified in the e parameter. An error occurred when attempting to access the socket. Windows XP or later is required for this method. This exception also occurs if the local endpoint and the are not the same address family. The has been closed. A caller higher in the call stack does not have permission for the requested operation. Begins an asynchronous request for a connection to a remote host. One of the values. One of the values. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. An argument is not valid. This exception occurs if multiple buffers are specified, the property is not null. The e parameter cannot be null and the cannot be null. The is listening or a socket operation was already in progress using the object specified in the e parameter. An error occurred when attempting to access the socket. Windows XP or later is required for this method. This exception also occurs if the local endpoint and the are not the same address family. The has been closed. A caller higher in the call stack does not have permission for the requested operation. Gets a value that indicates whether a is connected to a remote host as of the last or operation. true if the was connected to a remote resource as of the most recent operation; otherwise, false. Closes the socket connection and allows reuse of the socket. true if this socket can be reused after the current connection is closed; otherwise, false. This method requires Windows 2000 or earlier, or the exception will be thrown. The object has been closed. An error occurred when attempting to access the socket. Begins an asynchronous request to disconnect from a remote endpoint. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. The e parameter cannot be null. A socket operation was already in progress using the object specified in the e parameter. Windows XP or later is required for this method. The has been closed. An error occurred when attempting to access the socket. Releases all resources used by the current instance of the class. Releases the unmanaged resources used by the , and optionally disposes of the managed resources. true to release both managed and unmanaged resources; false to releases only unmanaged resources. Gets or sets a value that specifies whether the allows Internet Protocol (IP) datagrams to be fragmented. true if the allows datagram fragmentation; otherwise, false. The default is true. This property can be set only for sockets in the or families. An error occurred when attempting to access the socket. The has been closed. Gets or sets a value that specifies whether the is a dual-mode socket used for both IPv4 and IPv6. true if the is a dual-mode socket; otherwise, false. The default is false. Duplicates the socket reference for the target process, and closes the socket for this process. The ID of the target process where a duplicate of the socket reference is created. The socket reference to be passed to the target process. targetProcessID is not a valid process id. -or- Duplication of the socket reference failed. Gets or sets a value that specifies whether the can send or receive broadcast packets. true if the allows broadcast packets; otherwise, false. The default is false. This option is valid for a datagram socket only. The has been closed. Asynchronously accepts an incoming connection attempt and creates a new object to handle remote host communication. This method returns a buffer that contains the initial data and the number of bytes transferred. An array of type that contains the bytes transferred. The number of bytes transferred. An object that stores state information for this asynchronous operation as well as any user defined data. A object to handle communication with the remote host. Windows NT is required for this method. The object has been closed. asyncResult is empty. asyncResult was not created by a call to . method was previously called. An error occurred when attempting to access the . Asynchronously accepts an incoming connection attempt and creates a new to handle remote host communication. A to handle communication with the remote host. result is null. result was not created by a call to . An error occurred when attempting to access the socket. See the Remarks section for more information. The has been closed. method was previously called. Windows NT is required for this method. Asynchronously accepts an incoming connection attempt and creates a new object to handle remote host communication. This method returns a buffer that contains the initial data transferred. An array of type that contains the bytes transferred. An object that stores state information for this asynchronous operation as well as any user defined data. A object to handle communication with the remote host. Windows NT is required for this method. The object has been closed. asyncResult is empty. asyncResult was not created by a call to . method was previously called. An error occurred when attempting to access the Ends a pending asynchronous connection request. result is null. result was not returned by a call to the method. was previously called for the asynchronous connection. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous disconnect request. An object that stores state information and any user-defined data for this asynchronous operation. The operating system is Windows 2000 or earlier, and this method requires Windows XP. The object has been closed. asyncResult is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous connection. An error occurred when attempting to access the socket. The disconnect request has timed out. Ends a pending asynchronous read. The number of bytes received. result is null. result was not returned by a call to the method. was previously called for the asynchronous read. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous read. An that stores state information and any user defined data for this asynchronous operation. A object that stores the socket error. The number of bytes received. asyncResult is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous read. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous read from a specific endpoint. If successful, the number of bytes received. If unsuccessful, returns 0. asyncResult is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous read. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous read from a specific endpoint. This method also reveals more information about the packet than . An that stores state information and any user defined data for this asynchronous operation. A bitwise combination of the values for the received packet. The source . The and interface of the received packet. If successful, the number of bytes received. If unsuccessful, returns 0. asyncResult is null -or- endPoint is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous read. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous send. If successful, the number of bytes sent to the ; otherwise, an invalid error. result is null. result was not returned by a call to the method. was previously called for the asynchronous send. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous send. An that stores state information for this asynchronous operation. A object that stores the socket error. If successful, the number of bytes sent to the ; otherwise, an invalid error. asyncResult is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous send. An error occurred when attempting to access the socket. The has been closed. Ends a pending asynchronous send of a file. An object that stores state information for this asynchronous operation. Windows NT is required for this method. The object has been closed. asyncResult is empty. asyncResult was not returned by a call to the method. was previously called for the asynchronous . An error occurred when attempting to access the socket. See remarks section below. Ends a pending asynchronous send to a specific location. If successful, the number of bytes sent; otherwise, an invalid error. result is null. result was not returned by a call to the method. was previously called for the asynchronous send. An error occurred when attempting to access the socket. The has been closed. Gets or sets a value that specifies whether the allows only one process to bind to a port. true if the allows only one socket to bind to a specific port; otherwise, false. The default is true for Windows Server 2003 and Windows XP Service Pack 2, and false for all other versions. An error occurred when attempting to access the socket. The has been closed. has been called for this . Frees resources used by the class. Returns the value of the specified option in an array. One of the values. One of the values. The length, in bytes, of the expected return value. An array of type that contains the value of the socket option. An error occurred when attempting to access the socket. - or - In .NET Compact Framework applications, the Windows CE default buffer space is set to 32768 bytes. You can change the per socket buffer space by calling . The has been closed. Returns the specified option setting, represented as a byte array. One of the values. One of the values. An array of type that is to receive the option setting. An error occurred when attempting to access the socket. - or - In .NET Compact Framework applications, the Windows CE default buffer space is set to 32768 bytes. You can change the per socket buffer space by calling . The has been closed. Returns the value of a specified option, represented as an object. One of the values. One of the values. An object that represents the value of the option. When the optionName parameter is set to the return value is an instance of the class. When optionName is set to or , the return value is an instance of the class. When optionName is any other value, the return value is an integer. An error occurred when attempting to access the socket. -or- optionName was set to the unsupported value . The has been closed. Gets the operating system handle for the . An that represents the operating system handle for the . Sets low-level operating modes for the using numerical control codes. An value that specifies the control code of the operation to perform. A array that contains the input data required by the operation. A array that contains the output data returned by the operation. The number of bytes in the optionOutValue parameter. An error occurred when attempting to access the socket. The has been closed. An attempt was made to change the blocking mode without using the property. A caller in the call stack does not have the required permissions. Sets low-level operating modes for the using the enumeration to specify control codes. A value that specifies the control code of the operation to perform. An array of type that contains the input data required by the operation. An array of type that contains the output data returned by the operation. The number of bytes in the optionOutValue parameter. An error occurred when attempting to access the socket. The has been closed. An attempt was made to change the blocking mode without using the property. Gets a value that indicates whether the is bound to a specific local port. true if the is bound to a local port; otherwise, false. Gets or sets a value that specifies whether the will delay closing a socket in an attempt to send all pending data. A that specifies how to linger while closing a socket. An error occurred when attempting to access the socket. The has been closed. Places a in a listening state. The maximum length of the pending connections queue. An error occurred when attempting to access the socket. The has been closed. Gets the local endpoint. The that the is using for communications. An error occurred when attempting to access the socket. The has been closed. Gets or sets a value that specifies whether outgoing multicast packets are delivered to the sending application. true if the receives outgoing multicast packets; otherwise, false. An error occurred when attempting to access the socket. The has been closed. Gets or sets a value that specifies whether the stream is using the Nagle algorithm. false if the uses the Nagle algorithm; otherwise, true. The default is false. An error occurred when attempting to access the . The has been closed. Indicates whether the underlying operating system and network adaptors support Internet Protocol version 4 (IPv4). true if the operating system and network adaptors support the IPv4 protocol; otherwise, false. Indicates whether the underlying operating system and network adaptors support Internet Protocol version 6 (IPv6). true if the operating system and network adaptors support the IPv6 protocol; otherwise, false. Determines the status of the . The time to wait for a response, in microseconds. One of the values.

The status of the based on the polling mode value passed in the mode parameter.

Mode

Return Value

true if has been called and a connection is pending;

-or-

true if data is available for reading;

-or-

true if the connection has been closed, reset, or terminated;

otherwise, returns false.

true, if processing a , and the connection has succeeded;

-or-

true if data can be sent;

otherwise, returns false.

true if processing a that does not block, and the connection has failed;

-or-

true if is not set and out-of-band data is available;

otherwise, returns false.

The mode parameter is not one of the values. An error occurred when attempting to access the socket. See remarks below. The has been closed.
Gets the protocol type of the . One of the values. Receives data from a bound into a receive buffer, using the specified . An array of type that is the storage location for the received data. The position in the buffer parameter to store the received data. The number of bytes to receive. A bitwise combination of the values. A object that stores the socket error. The number of bytes received. buffer is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- The property is not set. -or- An operating system error occurs while accessing the . The has been closed. A caller in the call stack does not have the required permissions. Receives the specified number of bytes from a bound into the specified offset position of the receive buffer, using the specified . An array of type that is the storage location for received data. The location in buffer to store the received data. The number of bytes to receive. A bitwise combination of the values. The number of bytes received. buffer is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- The property was not set. -or- An operating system error occurs while accessing the . The has been closed. A caller in the call stack does not have the required permissions. Receives data from a bound into the list of receive buffers, using the specified . A list of s of type that contains the received data. A bitwise combination of the values. A object that stores the socket error. The number of bytes received. buffers is null. -or- buffers.Count is zero. An error occurred while attempting to access the socket. The has been closed. Receives the specified number of bytes of data from a bound into a receive buffer, using the specified . An array of type that is the storage location for the received data. The number of bytes to receive. A bitwise combination of the values. The number of bytes received. buffer is null. size exceeds the size of buffer. An error occurred when attempting to access the socket. The has been closed. A caller in the call stack does not have the required permissions. Receives data from a bound into the list of receive buffers. A list of s of type that contains the received data. The number of bytes received. The buffer parameter is null. An error occurred while attempting to access the socket. The has been closed. Receives data from a bound into a receive buffer, using the specified . An array of type that is the storage location for the received data. A bitwise combination of the values. The number of bytes received. buffer is null. An error occurred when attempting to access the socket. The has been closed. A caller in the call stack does not have the required permissions. Receives data from a bound into a receive buffer. An array of type that is the storage location for the received data. The number of bytes received. buffer is null. An error occurred when attempting to access the socket. The has been closed. A caller in the call stack does not have the required permissions. Receives data from a bound into the list of receive buffers, using the specified . A list of s of type that contains the received data. A bitwise combination of the values. The number of bytes received. buffers is null. -or- buffers.Count is zero. An error occurred while attempting to access the socket. The has been closed. Begins an asynchronous request to receive data from a connected object. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. An argument was invalid. The or properties on the e parameter must reference valid buffers. One or the other of these properties may be set, but not both at the same time. A socket operation was already in progress using the object specified in the e parameter. Windows XP or later is required for this method. The has been closed. An error occurred when attempting to access the socket. Gets or sets a value that specifies the size of the receive buffer of the . An that contains the size, in bytes, of the receive buffer. The default is 8192. An error occurred when attempting to access the socket. The has been closed. The value specified for a set operation is less than 0. Receives a datagram into the data buffer and stores the endpoint. An array of type that is the storage location for received data. An , passed by reference, that represents the remote server. The number of bytes received. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. The has been closed. A caller in the call stack does not have the required permissions. Receives a datagram into the data buffer, using the specified , and stores the endpoint. An array of type that is the storage location for the received data. A bitwise combination of the values. An , passed by reference, that represents the remote server. The number of bytes received. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. The has been closed. A caller in the call stack does not have the required permissions. Receives the specified number of bytes into the data buffer, using the specified , and stores the endpoint. An array of type that is the storage location for received data. The number of bytes to receive. A bitwise combination of the values. An , passed by reference, that represents the remote server. The number of bytes received. buffer is null. -or- remoteEP is null. size is less than 0. -or- size is greater than the length of buffer. socketFlags is not a valid combination of values. -or- The property was not set. -or- An operating system error occurs while accessing the . The has been closed. A caller in the call stack does not have the required permissions. Receives the specified number of bytes of data into the specified location of the data buffer, using the specified , and stores the endpoint. An array of type that is the storage location for received data. The position in the buffer parameter to store the received data. The number of bytes to receive. A bitwise combination of the values. An , passed by reference, that represents the remote server. The number of bytes received. buffer is null. -or- remoteEP is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of the buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- The property was not set. -or- An error occurred when attempting to access the socket. The has been closed. Begins to asynchronously receive data from a specified network device. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. The cannot be null. A socket operation was already in progress using the object specified in the e parameter. Windows XP or later is required for this method. The has been closed. An error occurred when attempting to access the socket. Receives the specified number of bytes of data into the specified location of the data buffer, using the specified , and stores the endpoint and packet information. An array of type that is the storage location for received data. The position in the buffer parameter to store the received data. The number of bytes to receive. A bitwise combination of the values. An , passed by reference, that represents the remote server. An holding address and interface information. The number of bytes received. buffer is null. - or- remoteEP is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of the buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- The property was not set. -or- The .NET Framework is running on an AMD 64-bit processor. -or- An error occurred when attempting to access the socket. The has been closed. The operating system is Windows 2000 or earlier, and this method requires Windows XP. Begins to asynchronously receive the specified number of bytes of data into the specified location in the data buffer, using the specified , and stores the endpoint and packet information. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. The cannot be null. Windows XP or later is required for this method. The has been closed. An error occurred when attempting to access the socket. Gets or sets a value that specifies the amount of time after which a synchronous call will time out. The time-out value, in milliseconds. The default value is 0, which indicates an infinite time-out period. Specifying -1 also indicates an infinite time-out period. An error occurred when attempting to access the socket. The has been closed. The value specified for a set operation is less than -1. Gets the remote endpoint. The with which the is communicating. An error occurred when attempting to access the socket. The has been closed. Determines the status of one or more sockets. An of instances to check for readability. An of instances to check for writability. An of instances to check for errors. The time-out value, in microseconds. A -1 value indicates an infinite time-out. The checkRead parameter is null or empty. -and- The checkWrite parameter is null or empty -and- The checkError parameter is null or empty. An error occurred when attempting to access the socket. Sends data to a connected . An array of type that contains the data to be sent. The number of bytes sent to the . buffer is null. An error occurred when attempting to access the socket. The has been closed. Sends the set of buffers in the list to a connected . A list of s of type that contains the data to be sent. The number of bytes sent to the . buffers is null. buffers is empty. An error occurred when attempting to access the socket. See remarks section below. The has been closed. Sends data to a connected using the specified . An array of type that contains the data to be sent. A bitwise combination of the values. The number of bytes sent to the . buffer is null. An error occurred when attempting to access the socket. The has been closed. Sends the set of buffers in the list to a connected , using the specified . A list of s of type that contains the data to be sent. A bitwise combination of the values. The number of bytes sent to the . buffers is null. buffers is empty. An error occurred when attempting to access the socket. The has been closed. Sends the specified number of bytes of data to a connected , using the specified . An array of type that contains the data to be sent. The number of bytes to send. A bitwise combination of the values. The number of bytes sent to the . buffer is null. size is less than 0 or exceeds the size of the buffer. socketFlags is not a valid combination of values. -or- An operating system error occurs while accessing the socket. The has been closed. Sends the set of buffers in the list to a connected , using the specified . A list of s of type that contains the data to be sent. A bitwise combination of the values. A object that stores the socket error. The number of bytes sent to the . buffers is null. buffers is empty. An error occurred when attempting to access the socket. The has been closed. Sends the specified number of bytes of data to a connected , starting at the specified offset, and using the specified . An array of type that contains the data to be sent. The position in the data buffer at which to begin sending data. The number of bytes to send. A bitwise combination of the values. The number of bytes sent to the . buffer is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- An operating system error occurs while accessing the . The has been closed. Sends the specified number of bytes of data to a connected , starting at the specified offset, and using the specified An array of type that contains the data to be sent. The position in the data buffer at which to begin sending data. The number of bytes to send. A bitwise combination of the values. A object that stores the socket error. The number of bytes sent to the . buffer is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- An operating system error occurs while accessing the . The has been closed. Sends data asynchronously to a connected object. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. The or properties on the e parameter must reference valid buffers. One or the other of these properties may be set, but not both at the same time. A socket operation was already in progress using the object specified in the e parameter. Windows XP or later is required for this method. The has been closed. The is not yet connected or was not obtained via an , ,or , method. Gets or sets a value that specifies the size of the send buffer of the . An that contains the size, in bytes, of the send buffer. The default is 8192. An error occurred when attempting to access the socket. The has been closed. The value specified for a set operation is less than 0. Sends the file fileName to a connected object with the transmit flag. A that contains the path and name of the file to be sent. This parameter can be null. The socket is not connected to a remote host. The object has been closed. The object is not in blocking mode and cannot accept this synchronous call. The file fileName was not found. An error occurred when attempting to access the socket. Sends the file fileName and buffers of data to a connected object using the specified value. A that contains the path and name of the file to be sent. This parameter can be null. A array that contains data to be sent before the file is sent. This parameter can be null. A array that contains data to be sent after the file is sent. This parameter can be null. One or more of values. The operating system is not Windows NT or later. - or - The socket is not connected to a remote host. The object has been closed. The object is not in blocking mode and cannot accept this synchronous call. The file fileName was not found. An error occurred when attempting to access the socket. Sends a collection of files or in memory data buffers asynchronously to a connected object. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. The file specified in the property was not found. A socket operation was already in progress using the object specified in the e parameter. Windows XP or later is required for this method. This exception also occurs if the is not connected to a remote host. The has been closed. A connectionless is being used and the file being sent exceeds the maximum packet size of the underlying transport. Gets or sets a value that specifies the amount of time after which a synchronous call will time out. The time-out value, in milliseconds. If you set the property with a value between 1 and 499, the value will be changed to 500. The default value is 0, which indicates an infinite time-out period. Specifying -1 also indicates an infinite time-out period. An error occurred when attempting to access the socket. The has been closed. The value specified for a set operation is less than -1. Sends data to the specified endpoint. An array of type that contains the data to be sent. The that represents the destination for the data. The number of bytes sent. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. The has been closed. Sends data to a specific endpoint using the specified . An array of type that contains the data to be sent. A bitwise combination of the values. The that represents the destination location for the data. The number of bytes sent. buffer is null. -or- remoteEP is null. An error occurred when attempting to access the socket. The has been closed. Sends the specified number of bytes of data to the specified endpoint using the specified . An array of type that contains the data to be sent. The number of bytes to send. A bitwise combination of the values. The that represents the destination location for the data. The number of bytes sent. buffer is null. -or- remoteEP is null. The specified size exceeds the size of buffer. An error occurred when attempting to access the socket. The has been closed. Sends the specified number of bytes of data to the specified endpoint, starting at the specified location in the buffer, and using the specified . An array of type that contains the data to be sent. The position in the data buffer at which to begin sending data. The number of bytes to send. A bitwise combination of the values. The that represents the destination location for the data. The number of bytes sent. buffer is null. -or- remoteEP is null. offset is less than 0. -or- offset is greater than the length of buffer. -or- size is less than 0. -or- size is greater than the length of buffer minus the value of the offset parameter. socketFlags is not a valid combination of values. -or- An operating system error occurs while accessing the . The has been closed. A caller in the call stack does not have the required permissions. Sends data asynchronously to a specific remote host. The object to use for this asynchronous socket operation. Returns true if the I/O operation is pending. The event on the e parameter will be raised upon completion of the operation. Returns false if the I/O operation completed synchronously. In this case, The event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. The cannot be null. A socket operation was already in progress using the object specified in the e parameter. Windows XP or later is required for this method. The has been closed. The protocol specified is connection-oriented, but the is not yet connected. Set the IP protection level on a socket. The IP protection level to set on this socket. The level parameter cannot be . The IP protection level cannot be set to unspecified. The of the socket must be either or . Sets the specified option to the specified value. One of the values. One of the values. The value of the option, represented as a . The object has been closed. An error occurred when attempting to access the socket. Sets the specified option to the specified value, represented as a byte array. One of the values. One of the values. An array of type that represents the value of the option. An error occurred when attempting to access the socket. The has been closed. Sets the specified option to the specified integer value. One of the values. One of the values. A value of the option. An error occurred when attempting to access the socket. The has been closed. Sets the specified option to the specified value, represented as an object. One of the values. One of the values. A or that contains the value of the option. optionValue is null. An error occurred when attempting to access the socket. The has been closed. Disables sends and receives on a . One of the values that specifies the operation that will no longer be allowed. An error occurred when attempting to access the socket. The has been closed. Gets the type of the . One of the values. Gets a value indicating whether IPv4 support is available and enabled on the current host. true if the current host supports the IPv4 protocol; otherwise, false. Gets a value that indicates whether the Framework supports IPv6 for certain obsolete members. true if the Framework supports IPv6 for certain obsolete methods; otherwise, false. Gets or sets a value that specifies the Time To Live (TTL) value of Internet Protocol (IP) packets sent by the . The TTL value. The TTL value can't be set to a negative number. This property can be set only for sockets in the or families. An error occurred when attempting to access the socket. This error is also returned when an attempt was made to set TTL to a value higher than 255. The has been closed. Specifies whether the socket should only use Overlapped I/O mode. true if the uses only overlapped I/O; otherwise, false. The default is false. The socket has been bound to a completion port. The type of asynchronous socket operation most recently performed with this context object. A socket Accept operation. A socket Connect operation. A socket Disconnect operation. None of the socket operations. A socket Receive operation. A socket ReceiveFrom operation. A socket ReceiveMessageFrom operation. A socket Send operation. A socket SendPackets operation. A socket SendTo operation. Specifies socket send and receive behaviors. Indicates a broadcast packet. Indicates that the control data did not fit into an internal 64-KB buffer and was truncated. Send without using routing tables. Indicates a multicast packet. Use no flags for this call. Process out-of-band data. Partial send or receive for message. Peek at the incoming message. The message was too large to fit into the specified buffer and was truncated. Encapsulates the information that is necessary to duplicate a . Gets or sets the options for a . A instance. Gets or sets the protocol information for a . An array of type . Describes states for a . The is connected. The is listening for new connections. The is nonblocking. The uses overlapped I/O. Defines socket option levels for the and methods. options apply only to IP sockets. options apply only to IPv6 sockets. options apply to all sockets. options apply only to TCP sockets. options apply only to UDP sockets. Defines configuration option names. The socket is listening. Add an IP group membership. Join a source group. Block data from a source. Permit sending broadcast messages on the socket. Use urgent data as defined in RFC-1222. This option can be set only once; after it is set, it cannot be turned off. Set or get the UDP checksum coverage. Record debugging information. Do not fragment IP datagrams. Close the socket gracefully without lingering. Do not route; send the packet directly to the interface addresses. Drop an IP group membership. Drop a source group. Get the error status and clear. Enables a socket to be bound for exclusive access. Use expedited data as defined in RFC-1222. This option can be set only once; after it is set, it cannot be turned off. Indicates that the application provides the IP header for outgoing datagrams. Specifies the maximum number of router hops for an Internet Protocol version 6 (IPv6) packet. This is similar to Time to Live (TTL) for Internet Protocol version 4. Specifies the IP options to be inserted into outgoing datagrams. Enables restriction of a IPv6 socket to a specified scope, such as addresses with the same link local or site local prefix.This socket option enables applications to place access restrictions on IPv6 sockets. Such restrictions enable an application running on a private LAN to simply and robustly harden itself against external attacks. This socket option widens or narrows the scope of a listening socket, enabling unrestricted access from public and private users when appropriate, or restricting access only to the same site, as required. This socket option has defined protection levels specified in the enumeration. Set the IP header Time-to-Live field. Indicates if a socket created for the AF_INET6 address family is restricted to IPv6 communications only. Sockets created for the AF_INET6 address family may be used for both IPv6 and IPv4 communications. Some applications may want to restrict their use of a socket created for the AF_INET6 address family to IPv6 communications only. When this value is non-zero (the default on Windows), a socket created for the AF_INET6 address family can be used to send and receive IPv6 packets only. When this value is zero, a socket created for the AF_INET6 address family can be used to send and receive packets to and from an IPv6 address or an IPv4 address. Note that the ability to interact with an IPv4 address requires the use of IPv4 mapped addresses. This socket option is supported on Windows Vista or later. Use keep-alives. Linger on close if unsent data is present. Not supported; will throw a if used. Set the interface for outgoing multicast packets. An IP multicast loopback. An IP multicast Time to Live. Send UDP datagrams with checksum set to zero. Disables the Nagle algorithm for send coalescing. Receives out-of-band data in the normal data stream. Return information about received packets. Specifies the total per-socket buffer space reserved for receives. This is unrelated to the maximum message size or the size of a TCP window. Specifies the low water mark for operations. Receive a time-out. This option applies only to synchronous methods; it has no effect on asynchronous methods such as the method. Allows the socket to be bound to an address that is already in use. Indicates that the system should defer ephemeral port allocation for outbound connections. This is equivalent to using the Winsock2 SO_REUSE_UNICASTPORT socket option. Specifies the total per-socket buffer space reserved for sends. This is unrelated to the maximum message size or the size of a TCP window. Specifies the low water mark for operations. Send a time-out. This option applies only to synchronous methods; it has no effect on asynchronous methods such as the method. Get the socket type. Change the IP header type of the service field. Unblock a previously blocked source. Updates an accepted socket's properties by using those of an existing socket. This is equivalent to using the Winsock2 SO_UPDATE_ACCEPT_CONTEXT socket option and is supported only on connection-oriented sockets. Updates a connected socket's properties by using those of an existing socket. This is equivalent to using the Winsock2 SO_UPDATE_CONNECT_CONTEXT socket option and is supported only on connection-oriented sockets. Bypass hardware when possible. Defines constants that are used by the method. Disables a for both sending and receiving. This field is constant. Disables a for receiving. This field is constant. Disables a for sending. This field is constant. Specifies the type of socket that an instance of the class represents. Supports datagrams, which are connectionless, unreliable messages of a fixed (typically small) maximum length. Messages might be lost or duplicated and might arrive out of order. A of type requires no connection prior to sending and receiving data, and can communicate with multiple peers. uses the Datagram Protocol () and the . Supports access to the underlying transport protocol. Using the , you can communicate using protocols like Internet Control Message Protocol () and Internet Group Management Protocol (). Your application must provide a complete IP header when sending. Received datagrams return with the IP header and options intact. Supports connectionless, message-oriented, reliably delivered messages, and preserves message boundaries in data. Rdm (Reliably Delivered Messages) messages arrive unduplicated and in order. Furthermore, the sender is notified if messages are lost. If you initialize a Socket using , you do not require a remote host connection before sending and receiving data. With , you can communicate with multiple peers. Provides connection-oriented and reliable two-way transfer of ordered byte streams across a network. does not duplicate data, and it preserves boundaries within the data stream. A Socket of type communicates with a single peer and requires a remote host connection before communication can begin. Supports reliable, two-way, connection-based byte streams without the duplication of data and without preservation of boundaries. A Socket of this type communicates with a single peer and requires a remote host connection before communication can begin. uses the Transmission Control Protocol () and the InterNetwork. Specifies an unknown Socket type. Provides client connections for TCP network services. Initializes a new instance of the class. Initializes a new instance of the class and binds it to the specified local endpoint. The to which you bind the TCP . The localEP parameter is null. Initializes a new instance of the class with the specified family. The of the IP protocol. The family parameter is not equal to AddressFamily.InterNetwork -or- The family parameter is not equal to AddressFamily.InterNetworkV6 Initializes a new instance of the class and connects to the specified port on the specified host. The DNS name of the remote host to which you intend to connect. The port number of the remote host to which you intend to connect. The hostname parameter is null. The port parameter is not between and . An error occurred when accessing the socket. Gets or set a value that indicates whether a connection has been made. true if the connection has been made; otherwise, false. Gets the amount of data that has been received from the network and is available to be read. The number of bytes of data received from the network and available to be read. An error occurred when attempting to access the socket. The has been closed. Begins an asynchronous request for a remote host connection. The remote host is specified by an and a port number (). The of the remote host. The port number of the remote host. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the connect operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous connection. The address parameter is null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. The port number is not valid. Begins an asynchronous request for a remote host connection. The remote host is specified by an array and a port number (). At least one that designates the remote hosts. The port number of the remote hosts. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the connect operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous connection. The addresses parameter is null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. The port number is not valid. Begins an asynchronous request for a remote host connection. The remote host is specified by a host name () and a port number (). The name of the remote host. The port number of the remote host. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the connect operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous connection. The host parameter is null. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. The port number is not valid. Gets or sets the underlying . The underlying network . Disposes this instance and requests that the underlying TCP connection be closed. Connects the client to a remote TCP host using the specified remote network endpoint. The to which you intend to connect. The remoteEp parameter is null. An error occurred when accessing the socket. The is closed. Connects the client to a remote TCP host using the specified IP address and port number. The of the host to which you intend to connect. The port number to which you intend to connect. The address parameter is null. The port is not between and . An error occurred when accessing the socket. is closed. Connects the client to a remote TCP host using the specified IP addresses and port number. The array of the host to which you intend to connect. The port number to which you intend to connect. The ipAddresses parameter is null. The port number is not valid. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. This method is valid for sockets that use the flag or the flag. Connects the client to the specified port on the specified host. The DNS name of the remote host to which you intend to connect. The port number of the remote host to which you intend to connect. The hostname parameter is null. The port parameter is not between and . An error occurred when accessing the socket. is closed. Connects the client to the specified TCP port on the specified host as an asynchronous operation. The DNS name of the remote host to which you intend to connect. The port number of the remote host to which you intend to connect. Returns The task object representing the asynchronous operation. The hostname parameter is null. The port parameter is not between and . An error occurred when accessing the socket. is closed. Connects the client to a remote TCP host using the specified IP address and port number as an asynchronous operation. The of the host to which you intend to connect. The port number to which you intend to connect. Returns The task object representing the asynchronous operation. The address parameter is null. The port is not between and . An error occurred when accessing the socket. is closed. Connects the client to a remote TCP host using the specified IP addresses and port number as an asynchronous operation. The array of the host to which you intend to connect. The port number to which you intend to connect. Returns The task object representing the asynchronous operation. The ipAddresses parameter is null. The port number is not valid. An error occurred when attempting to access the socket. The has been closed. A caller higher in the call stack does not have permission for the requested operation. This method is valid for sockets that use the flag or the flag. Gets a value indicating whether the underlying for a is connected to a remote host. true if the socket was connected to a remote resource as of the most recent operation; otherwise, false. Releases the managed and unmanaged resources used by the . Releases the unmanaged resources used by the and optionally releases the managed resources. Set to true to release both managed and unmanaged resources; false to release only unmanaged resources. Ends a pending asynchronous connection attempt. An object returned by a call to . The asyncResult parameter is null. The asyncResult parameter was not returned by a call to a method. The method was previously called for the asynchronous connection. An error occurred when attempting to access the . The underlying has been closed. Gets or sets a value that specifies whether the allows only one client to use a port. true if the allows only one client to use a specific port; otherwise, false. The default is true for Windows Server 2003 and Windows XP Service Pack 2 and later, and false for all other versions. An error occurred when attempting to access the underlying socket. The underlying has been closed. Frees resources used by the class. Returns the used to send and receive data. The underlying . The is not connected to a remote host. The has been closed. Gets or sets information about the linger state of the associated socket. A . By default, lingering is disabled. Gets or sets a value that disables a delay when send or receive buffers are not full. true if the delay is disabled, otherwise false. The default value is false. Gets or sets the size of the receive buffer. The size of the receive buffer, in bytes. The default value is 8192 bytes. An error occurred when setting the buffer size. -or- In .NET Compact Framework applications, you cannot set this property. For a workaround, see the Platform Note in Remarks. Gets or sets the amount of time a will wait to receive data once a read operation is initiated. The time-out value of the connection in milliseconds. The default value is 0. Gets or sets the size of the send buffer. The size of the send buffer, in bytes. The default value is 8192 bytes. Gets or sets the amount of time a will wait for a send operation to complete successfully. The send time-out value, in milliseconds. The default is 0. Listens for connections from TCP network clients. Initializes a new instance of the class that listens on the specified port. The port on which to listen for incoming connection attempts. port is not between and . Initializes a new instance of the class with the specified local endpoint. An that represents the local endpoint to which to bind the listener . localEP is null. Initializes a new instance of the class that listens for incoming connection attempts on the specified local IP address and port number. An that represents the local IP address. The port on which to listen for incoming connection attempts. localaddr is null. port is not between and . Accepts a pending connection request. A used to send and receive data. The listener has not been started with a call to . Accepts a pending connection request as an asynchronous operation. Returns The task object representing the asynchronous operation. The property on the task object returns a used to send and receive data. The listener has not been started with a call to . Accepts a pending connection request. A used to send and receive data. The listener has not been started with a call to . Use the property to obtain the specific error code. When you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error. Accepts a pending connection request as an asynchronous operation. Returns The task object representing the asynchronous operation. The property on the task object returns a used to send and receive data. The listener has not been started with a call to . Use the property to obtain the specific error code. When you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error. Gets a value that indicates whether is actively listening for client connections. true if is actively listening; otherwise, false. Enables or disables Network Address Translation (NAT) traversal on a instance. A Boolean value that specifies whether to enable or disable NAT traversal. The method was called after calling the method Begins an asynchronous operation to accept an incoming connection attempt. An delegate that references the method to invoke when the operation is complete. A user-defined object containing information about the accept operation. This object is passed to the callback delegate when the operation is complete. An that references the asynchronous creation of the . An error occurred while attempting to access the socket. The has been closed. Begins an asynchronous operation to accept an incoming connection attempt. An delegate that references the method to invoke when the operation is complete. A user-defined object containing information about the accept operation. This object is passed to the callback delegate when the operation is complete. An that references the asynchronous creation of the . An error occurred while attempting to access the socket. The has been closed. Creates a new instance to listen on the specified port. The port on which to listen for incoming connection attempts. Returns . A new instance to listen on the specified port. Asynchronously accepts an incoming connection attempt and creates a new to handle remote host communication. An returned by a call to the method. A . The used to send and receive data. The underlying has been closed. The asyncResult parameter is null. The asyncResult parameter was not created by a call to the method. The method was previously called. An error occurred while attempting to access the . Asynchronously accepts an incoming connection attempt and creates a new to handle remote host communication. An returned by a call to the method. A . The used to send and receive data. Gets or sets a value that specifies whether the allows only one underlying socket to listen to a specific port. true if the allows only one to listen to a specific port; otherwise, false. . The default is true for Windows Server 2003 and Windows XP Service Pack 2 and later, and false for all other versions. The has been started. Call the method and then set the property. An error occurred when attempting to access the underlying socket. The underlying has been closed. Gets the underlying of the current . The to which the is bound. Determines if there are pending connection requests. true if connections are pending; otherwise, false. The listener has not been started with a call to . Gets the underlying network . The underlying . Starts listening for incoming connection requests. Use the property to obtain the specific error code. When you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error. Starts listening for incoming connection requests with a maximum number of pending connection. The maximum length of the pending connections queue. An error occurred while accessing the socket. The backlog parameter is less than zero or exceeds the maximum number of permitted connections. The underlying is null. Closes the listener. Use the property to obtain the specific error code. When you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error. The enumeration defines values used in file transfer requests. Start a transport-level disconnect after all the file data has been queued for transmission. When used with , these flags return the socket to a disconnected, reusable state after the file has been transmitted. The socket handle may be reused when the request completes. This flag is valid only if is also specified. When used with , these flags return the socket to a disconnected, reusable state after the file has been transmitted. Use the default thread to process long file transfer requests. Use kernel asynchronous procedure calls (APCs) instead of worker threads to process long file transfer requests. Long requests are defined as requests that require more than a single read from the file or a cache; the request therefore depends on the size of the file and the specified length of the send packet. Use system threads to process long file transfer requests. Complete the file transfer request immediately, without pending. If this flag is specified and the file transfer succeeds, the data has been accepted by the system but not necessarily acknowledged by the remote end. Do not use this flag with the and flags. Provides User Datagram Protocol (UDP) network services. Initializes a new instance of the class. An error occurred when accessing the socket. Initializes a new instance of the class and binds it to the local port number provided. The local port number from which you intend to communicate. The port parameter is greater than or less than . An error occurred when accessing the socket. Initializes a new instance of the class and binds it to the specified local endpoint. An that respresents the local endpoint to which you bind the UDP connection. localEP is null. An error occurred when accessing the socket. Initializes a new instance of the class. One of the values that specifies the addressing scheme of the socket. family is not or . An error occurred when accessing the socket. Initializes a new instance of the class and binds it to the local port number provided. The port on which to listen for incoming connection attempts. One of the values that specifies the addressing scheme of the socket. family is not or . port is greater than or less than . An error occurred when accessing the socket. Initializes a new instance of the class and establishes a default remote host. The name of the remote DNS host to which you intend to connect. The remote port number to which you intend to connect. hostname is null. port is not between and . An error occurred when accessing the socket. Gets or sets a value indicating whether a default remote host has been established. true if a connection is active; otherwise, false. Enables or disables Network Address Translation (NAT) traversal on a instance. A Boolean value that specifies whether to enable or disable NAT traversal. Gets the amount of data received from the network that is available to read. The number of bytes of data received from the network. An error occurred while attempting to access the socket. The has been closed. Receives a datagram from a remote host asynchronously. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the receive operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous receive. Sends a datagram to a destination asynchronously. The destination is specified by the host name and port number. A array that contains the data to be sent. The number of bytes to send. The destination host. The destination port number. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the send operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous send. Sends a datagram to a remote host asynchronously. The destination was specified previously by a call to . A array that contains the data to be sent. The number of bytes to send. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the send operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous send. Sends a datagram to a destination asynchronously. The destination is specified by a . A array that contains the data to be sent. The number of bytes to send. The that represents the destination for the data. An delegate that references the method to invoke when the operation is complete. A user-defined object that contains information about the send operation. This object is passed to the requestCallback delegate when the operation is complete. An object that references the asynchronous send. Gets or sets the underlying network . The underlying Network . Closes the UDP connection. An error occurred when accessing the socket. Establishes a default remote host using the specified network endpoint. An that specifies the network endpoint to which you intend to send data. An error occurred when accessing the socket. endPoint is null. The is closed. Establishes a default remote host using the specified IP address and port number. The of the remote host to which you intend to send data. The port number to which you intend send data. is closed. addr is null. port is not between and . An error occurred when accessing the socket. Establishes a default remote host using the specified host name and port number. The DNS name of the remote host to which you intend send data. The port number on the remote host to which you intend to send data. The is closed. port is not between and . An error occurred when accessing the socket. Releases the managed and unmanaged resources used by the . Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets or sets a value that specifies whether the allows Internet Protocol (IP) datagrams to be fragmented. true if the allows datagram fragmentation; otherwise, false. The default is true. This property can be set only for sockets that use the flag or the flag. Leaves a multicast group. The of the multicast group to leave. The local address of the multicast group to leave. The underlying has been closed. An error occurred when accessing the socket. The IP address is not compatible with the value that defines the addressing scheme of the socket. multicastAddr is null. Leaves a multicast group. The of the multicast group to leave. The underlying has been closed. An error occurred when accessing the socket. The IP address is not compatible with the value that defines the addressing scheme of the socket. multicastAddr is null. Gets or sets a value that specifies whether the may send or receive broadcast packets. true if the allows broadcast packets; otherwise, false. The default is false. Ends a pending asynchronous receive. An object returned by a call to . The specified remote endpoint. If successful, the number of bytes received. If unsuccessful, this method returns 0. asyncResult is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous read. An error occurred when attempting to access the underlying . The underlying has been closed. Ends a pending asynchronous send. An object returned by a call to . If successful, the number of bytes sent to the . asyncResult is null. asyncResult was not returned by a call to the method. was previously called for the asynchronous read. An error occurred when attempting to access the underlying socket. The underlying has been closed. Gets or sets a value that specifies whether the allows only one client to use a port. true if the allows only one client to use a specific port; otherwise, false. The default is true for Windows Server 2003 and Windows XP Service Pack 2 and later, and false for all other versions. An error occurred when attempting to access the underlying socket. The underlying has been closed. Adds a to a multicast group. The multicast of the group you want to join. The underlying has been closed. An error occurred when accessing the socket. The IP address is not compatible with the value that defines the addressing scheme of the socket. Adds a to a multicast group. The interface index associated with the local IP address on which to join the multicast group. The multicast of the group you want to join. The underlying has been closed. An error occurred when accessing the socket. Adds a to a multicast group with the specified Time to Live (TTL). The of the multicast group to join. The Time to Live (TTL), measured in router hops. The TTL provided is not between 0 and 255 The underlying has been closed. An error occurred when accessing the socket. multicastAddr is null. The IP address is not compatible with the value that defines the addressing scheme of the socket. Adds a to a multicast group. The multicast of the group you want to join. The local . The underlying has been closed. An error occurred when accessing the socket. Gets or sets a value that specifies whether outgoing multicast packets are delivered to the sending application. true if the receives outgoing multicast packets; otherwise, false. Returns a UDP datagram that was sent by a remote host. An that represents the remote host from which the data was sent. An array of type that contains datagram data. The underlying has been closed. An error occurred when accessing the socket. Returns a UDP datagram asynchronously that was sent by a remote host. Returns . The task object representing the asynchronous operation. The underlying has been closed. An error occurred when accessing the socket. Sends a UDP datagram to a remote host. An array of type that specifies the UDP datagram that you intend to send represented as an array of bytes. The number of bytes in the datagram. The number of bytes sent. dgram is null. The has already established a default remote host. The is closed. An error occurred when accessing the socket. Sends a UDP datagram to the host at the specified remote endpoint. An array of type that specifies the UDP datagram that you intend to send, represented as an array of bytes. The number of bytes in the datagram. An that represents the host and port to which to send the datagram. The number of bytes sent. dgram is null. has already established a default remote host. is closed. An error occurred when accessing the socket. Sends a UDP datagram to a specified port on a specified remote host. An array of type that specifies the UDP datagram that you intend to send represented as an array of bytes. The number of bytes in the datagram. The name of the remote host to which you intend to send the datagram. The remote port number with which you intend to communicate. The number of bytes sent. dgram is null. The has already established a default remote host. The is closed. An error occurred when accessing the socket. Sends a UDP datagram asynchronously to a remote host. An array of type that specifies the UDP datagram that you intend to send represented as an array of bytes. The number of bytes in the datagram. Returns . dgram is null. The has already established a default remote host. The is closed. An error occurred when accessing the socket. Sends a UDP datagram asynchronously to a remote host. An array of type that specifies the UDP datagram that you intend to send represented as an array of bytes. The number of bytes in the datagram. An that represents the host and port to which to send the datagram. Returns . dgram is null. has already established a default remote host. is closed. An error occurred when accessing the socket. Sends a UDP datagram asynchronously to a remote host. An array of type that specifies the UDP datagram that you intend to send represented as an array of bytes. The number of bytes in the datagram. The name of the remote host to which you intend to send the datagram. The remote port number with which you intend to communicate. Returns . dgram is null. The has already established a default remote host. The is closed. An error occurred when accessing the socket. Gets or sets a value that specifies the Time to Live (TTL) value of Internet Protocol (IP) packets sent by the . The TTL value. Presents UDP receive result information from a call to the method. Initializes a new instance of the class. A buffer for data to receive in the UDP packet. The remote endpoint of the UDP packet. Gets a buffer with the data received in the UDP packet. Returns . A array with the data received in the UDP packet. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. Returns . true if other is an instance of and equals the value of the instance; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. Returns . true if obj is an instance of and equals the value of the instance; otherwise, false. Returns the hash code for this instance. Returns . The hash code. Tests whether two specified instances are equivalent. The instance that is to the left of the equality operator. The instance that is to the right of the equality operator. Returns . true if left and right are equal; otherwise, false. Tests whether two specified instances are not equal. The instance that is to the left of the not equal operator. The instance that is to the right of the not equal operator. Returns . true if left and right are unequal; otherwise, false. Gets the remote endpoint from which the UDP packet was received. Returns . The remote endpoint from which the UDP packet was received. Specifies the IO control codes supported by the method. This value is equal to the Winsock 2 SIO_ABSORB_RTRALERT constant. Join a multicast group using an interface identified by its index. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant. Enable receiving notification when the list of local interfaces for the socket's protocol family changes. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_ADDRESS_LIST_CHANGE constant. Return the list of local interfaces that the socket can bind to. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_ADDRESS_LIST_QUERY constant. Sort the structure returned by the field and add scope ID information for IPv6 addresses. This control code is supported on Windows XP and later operating systems. This value is equal to the Winsock 2 SIO_ADDRESS_LIST_SORT constant. Associate this socket with the specified handle of a companion interface. Refer to the appropriate protocol-specific annex in the Winsock 2 reference or documentation for the particular companion interface for additional details. It is recommended that the Component Object Model (COM) be used instead of this IOCTL to discover and track other interfaces that might be supported by a socket. This control code is present for backward compatibility with systems where COM is not available or cannot be used for some other reason. This value is equal to the Winsock 2 SIO_ASSOCIATE_HANDLE constant. Enable notification for when data is waiting to be received. This value is equal to the Winsock 2 FIOASYNC constant. Bind the socket to a specified interface index. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_INDEX_BIND constant. Return the number of bytes available for reading. This value is equal to the Winsock 2 FIONREAD constant. Remove the socket from a multicast group. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant. Replace the oldest queued datagram with an incoming datagram when the incoming message queues are full. This value is equal to the Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING constant. Discard the contents of the sending queue. This value is equal to the Winsock 2 SIO_FLUSH constant. Return a SOCKADDR structure that contains the broadcast address for the address family of the current socket. The returned address can be used with the method. This value is equal to the Winsock 2 SIO_GET_BROADCAST_ADDRESS constant. This value can be used on User Datagram Protocol (UDP) sockets only. Obtain provider-specific functions that are not part of the Winsock specification. Functions are specified using their provider-assigned GUID. This value is equal to the Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER constant. Return the Quality of Service (QOS) attributes for the socket group. This value is reserved for future use, and is equal to the Winsock 2 SIO_GET_GROUP_QOS constant. Retrieve the QOS structure associated with the socket. This control is only supported on platforms that provide a QOS capable transport (Windows Me, Windows 2000, and later.) This value is equal to the Winsock 2 SIO_GET_QOS constant. Control sending TCP keep-alive packets and the interval at which they are sent. This control code is supported on Windows 2000 and later operating systems. For additional information, see RFC 1122 section 4.2.3.6. This value is equal to the Winsock 2 SIO_KEEPALIVE_VALS constant. This value is equal to the Winsock 2 SIO_LIMIT_BROADCASTS constant. Set the interface used for outgoing multicast packets. The interface is identified by its index. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_INDEX_MCASTIF constant. Control the number of times a multicast packet can be forwarded by a router, also known as the Time to Live (TTL), or hop count. This value is equal to the Winsock 2 SIO_MULTICAST_SCOPE constant. Control whether multicast data sent by the socket appears as incoming data in the sockets receive queue. This value is equal to the Winsock 2 SIO_MULTIPOINT_LOOPBACK constant. Control whether the socket receives notification when a namespace query becomes invalid. This control code is supported on Windows XP and later operating systems. This value is equal to the Winsock 2 SIO_NSP_NOTIFY_CHANGE constant. Control the blocking behavior of the socket. If the argument specified with this control code is zero, the socket is placed in blocking mode. If the argument is nonzero, the socket is placed in nonblocking mode. This value is equal to the Winsock 2 FIONBIO constant. Return information about out-of-band data waiting to be received. When using this control code on stream sockets, the return value indicates the number of bytes available. Retrieve the underlying provider's SOCKET handle. This handle can be used to receive plug-and-play event notification. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE constant. Enable receiving all IPv4 packets on the network. The socket must have address family , the socket type must be , and the protocol type must be . The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_RCVALL constant. Enable receiving all Internet Group Management Protocol (IGMP) packets on the network. The socket must have address family , the socket type must be , and the protocol type must be . The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_RCVALL_IGMPMCAST constant. Enable receiving all multicast IPv4 packets on the network. These are packets with destination addresses in the range 224.0.0.0 through 239.255.255.255. The socket must have address family , the socket type must be , and the protocol type must be . The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. This control code is supported on Windows 2000 and later operating systems. This value is equal to the Winsock 2 SIO_RCVALL_MCAST constant. Enable receiving notification when the local interface used to access a remote endpoint changes. This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_CHANGE constant. Return the interface addresses that can be used to connect to the specified remote address. This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_QUERY constant. Set the Quality of Service (QOS) attributes for the socket group. This value is reserved for future use and is equal to the Winsock 2 SIO_SET_GROUP_QOS constant. Set the Quality of Service (QOS) attributes for the socket. QOS defines the bandwidth requirements for the socket. This control code is supported on Windows Me, Windows 2000, and later operating systems. This value is equal to the Winsock 2 SIO_SET_QOS constant. Return a handle for the socket that is valid in the context of a companion interface. This value is equal to the Winsock 2 SIO_TRANSLATE_HANDLE constant. Set the interface used for outgoing unicast packets. This value is equal to the Winsock 2 SIO_UCAST_IF constant. Presents the packet information from a call to or . Gets the origin information of the packet that was received as a result of calling the method or method. An that indicates the origin information of the packet that was received as a result of calling the method or method. For packets that were sent from a unicast address, the property will return the of the sender; for multicast or broadcast packets, the property will return the multicast or broadcast . Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if comparand is an instance of and equals the value of the instance; otherwise, false. Returns the hash code for this instance. An Int32 hash code. Gets the network interface information that is associated with a call to or . An value, which represents the index of the network interface. You can use this index with to get more information about the relevant interface. Tests whether two specified instances are equivalent. The instance that is to the left of the equality operator. The instance that is to the right of the equality operator. true if packetInformation1 and packetInformation2 are equal; otherwise, false. Tests whether two specified instances are not equal. The instance that is to the left of the inequality operator. The instance that is to the right of the inequality operator. true if packetInformation1 and packetInformation2 are unequal; otherwise, false. A value that enables restriction of an IPv6 socket to a specified scope, such as addresses with the same link local or site local prefix. The IP protection level is edge restricted. This value would be used by applications designed to operate across the Internet. This setting does not allow Network Address Translation (NAT) traversal using the Windows Teredo implementation. These applications may bypass IPv4 firewalls, so applications must be hardened against Internet attacks directed at the opened port. On Windows Server 2003 and Windows XP, the default value for the IP Protection level on a socket is edge restricted. The IP protection level is restricted. This value would be used by intranet applications that do not implement Internet scenarios. These applications are generally not tested or hardened against Internet-style attacks. This setting will limit the received traffic to link-local only. The IP protection level is unrestricted. This value would be used by applications designed to operate across the Internet, including applications taking advantage of IPv6 NAT traversal capabilities built into Windows (Teredo, for example). These applications may bypass IPv4 firewalls, so applications must be hardened against Internet attacks directed at the opened port. On Windows Server 2008 R2 and Windows Vista, the default value for the IP Protection level on a socket is unrestricted. The IP protection level is unspecified. On Windows 7 and Windows Server 2008 R2, the default value for the IP Protection level on a socket is unspecified. Contains option values for joining an IPv6 multicast group. Initializes a new version of the class for the specified IP multicast group. The of the multicast group. group is null. Initializes a new instance of the class with the specified IP multicast group and the local interface address. The group . The local interface address. ifindex is less than 0. -or- ifindex is greater than 0x00000000FFFFFFFF. group is null. Gets or sets the IP address of a multicast group. An that contains the Internet address of a multicast group. group is null. Gets or sets the interface index that is associated with a multicast group. A value that specifies the address of the interface. The value that is specified for a set operation is less than 0 or greater than 0x00000000FFFFFFFF. Specifies whether a will remain connected after a call to the or methods and the length of time it will remain connected, if data remains to be sent. Initializes a new instance of the class. true to remain connected after the method is called; otherwise, false. The number of seconds to remain connected after the method is called. Gets or sets a value that indicates whether to linger after the is closed. true if the should linger after is called; otherwise, false. Gets or sets the amount of time to remain connected after calling the method if data remains to be sent. The amount of time, in seconds, to remain connected after calling . Contains values used to join and drop multicast groups. Initializes a new version of the class for the specified IP multicast group. The of the multicast group. group is null. Initializes a new instance of the class with the specified IP multicast group address and interface index. The of the multicast group. The index of the interface that is used to send and receive multicast packets. Initializes a new instance of the class with the specified IP multicast group address and local IP address associated with a network interface. The group . The local . group is null. -or- mcint is null. Gets or sets the IP address of a multicast group. An that contains the Internet address of a multicast group. Gets or sets the index of the interface that is used to send and receive multicast packets. An integer that represents the index of a array element. Gets or sets the local address associated with a multicast group. An that contains the local address associated with a multicast group. Provides the underlying stream of data for network access. Creates a new instance of the class for the specified . The that the will use to send and receive data. The socket parameter is null. The socket parameter is not connected. -or- The property of the socket parameter is not . -or- The socket parameter is in a nonblocking state. Initializes a new instance of the class for the specified with the specified ownership. The that the will use to send and receive data. Set to true to indicate that the will take ownership of the ; otherwise, false. The socket parameter is null. The socket parameter is not connected. -or- the value of the property of the socket parameter is not . -or- the socket parameter is in a nonblocking state. Creates a new instance of the class for the specified with the specified access rights. The that the will use to send and receive data. A bitwise combination of the values that specify the type of access given to the over the provided . The socket parameter is null. The socket parameter is not connected. -or- the property of the socket parameter is not . -or- the socket parameter is in a nonblocking state. Creates a new instance of the class for the specified with the specified access rights and the specified ownership. The that the will use to send and receive data. A bitwise combination of the values that specifies the type of access given to the over the provided . Set to true to indicate that the will take ownership of the ; otherwise, false. The socket parameter is null. The socket parameter is not connected. -or- The property of the socket parameter is not . -or- The socket parameter is in a nonblocking state. Begins an asynchronous read from the . An array of type that is the location in memory to store data read from the . The location in buffer to begin storing the data. The number of bytes to read from the . The delegate that is executed when completes. An object that contains any additional user-defined data. An that represents the asynchronous call. The buffer parameter is null. The offset parameter is less than 0. -or- The offset parameter is greater than the length of the buffer paramater. -or- The size is less than 0. -or- The size is greater than the length of buffer minus the value of the offset parameter. The underlying is closed. -or- There was a failure while reading from the network. -or- An error occurred when accessing the socket. The is closed. Begins an asynchronous write to a stream. An array of type that contains the data to write to the . The location in buffer to begin sending the data. The number of bytes to write to the . The delegate that is executed when completes. An object that contains any additional user-defined data. An that represents the asynchronous call. The buffer parameter is null. The offset parameter is less than 0. -or- The offset parameter is greater than the length of buffer. -or- The size parameter is less than 0. -or- The size parameter is greater than the length of buffer minus the value of the offset parameter. The underlying is closed. -or- There was a failure while writing to the network. -or- An error occurred when accessing the socket. The is closed. Gets a value that indicates whether the supports reading. true if data can be read from the stream; otherwise, false. The default value is true. Gets a value that indicates whether the stream supports seeking. This property is not currently supported.This property always returns false. false in all cases to indicate that cannot seek a specific location in the stream. Indicates whether timeout properties are usable for . true in all cases. Gets a value that indicates whether the supports writing. true if data can be written to the ; otherwise, false. The default value is true. Closes the after waiting the specified time to allow data to be sent. A 32-bit signed integer that specifies the number of milliseconds to wait to send any remaining data before closing. The timeout parameter is less than -1. Gets a value that indicates whether data is available on the to be read. true if data is available on the stream to be read; otherwise, false. The is closed. The underlying is closed. Use the property to obtain the specific error code, and refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Handles the end of an asynchronous read. An that represents an asynchronous call. The number of bytes read from the . The asyncResult parameter is null. The underlying is closed. -or- An error occurred when accessing the socket. The is closed. Handles the end of an asynchronous write. The that represents the asynchronous call. The asyncResult parameter is null. The underlying is closed. -or- An error occurred while writing to the network. -or- An error occurred when accessing the socket. The is closed. Releases all resources used by the . Flushes data from the stream. This method is reserved for future use. Flushes data from the stream as an asynchronous operation. A cancellation token used to propagate notification that this operation should be canceled. Returns . The task object representing the asynchronous operation. Gets the length of the data available on the stream. This property is not currently supported and always throws a . The length of the data available on the stream. Any use of this property. Gets or sets the current position in the stream. This property is not currently supported and always throws a . The current position in the stream. Any use of this property. Reads data from the . An array of type that is the location in memory to store data read from the . The location in buffer to begin storing the data to. The number of bytes to read from the . The number of bytes read from the , or 0 if the socket is closed. The buffer parameter is null. The offset parameter is less than 0. -or- The offset parameter is greater than the length of buffer. -or- The size parameter is less than 0. -or- The size parameter is greater than the length of buffer minus the value of the offset parameter. -or- An error occurred when accessing the socket. The underlying is closed. The is closed. -or- There is a failure reading from the network. Gets or sets a value that indicates whether the can be read. true to indicate that the can be read; otherwise, false. The default value is true. Gets or sets the amount of time that a read operation blocks waiting for data. A that specifies the amount of time, in milliseconds, that will elapse before a read operation fails. The default value, , specifies that the read operation does not time out. The value specified is less than or equal to zero and is not . Sets the current position of the stream to the given value. This method is not currently supported and always throws a . This parameter is not used. This parameter is not used. The position in the stream. Any use of this property. Sets the length of the stream. This method always throws a . This parameter is not used. Any use of this property. Gets the underlying . A that represents the underlying network connection. Writes data to the . An array of type that contains the data to write to the . The location in buffer from which to start writing data. The number of bytes to write to the . The buffer parameter is null. The offset parameter is less than 0. -or- The offset parameter is greater than the length of buffer. -or- The size parameter is less than 0. -or- The size parameter is greater than the length of buffer minus the value of the offset parameter. There was a failure while writing to the network. -or- An error occurred when accessing the socket. The is closed. -or- There was a failure reading from the network. Gets a value that indicates whether the is writable. true if data can be written to the stream; otherwise, false. The default value is true. Gets or sets the amount of time that a write operation blocks waiting for data. A that specifies the amount of time, in milliseconds, that will elapse before a write operation fails. The default value, , specifies that the write operation does not time out. The value specified is less than or equal to zero and is not . Specifies the type of protocol that an instance of the class can use. AppleTalk protocol. Native ATM services protocol. Banyan protocol. CCITT protocol, such as X.25. MIT CHAOS protocol. Microsoft Cluster products protocol. DataKit protocol. Direct data link protocol. DECNet protocol. European Computer Manufacturers Association (ECMA) protocol. FireFox protocol. NSC HyperChannel protocol. IEEE 1284.4 workgroup protocol. ARPANET IMP protocol. IP version 4 protocol. IP version 6 protocol. IPX or SPX protocol. IrDA protocol. ISO protocol. LAT protocol. MAX protocol. NetBIOS protocol. Network Designers OSI gateway enabled protocol. Xerox NS protocol. OSI protocol. PUP protocol. IBM SNA protocol. Unix local to host protocol. Unknown protocol. Unspecified protocol. VoiceView protocol. Specifies the protocols that the class supports. Gateway To Gateway Protocol. Internet Control Message Protocol. Internet Control Message Protocol for IPv6. Internet Datagram Protocol. Internet Group Management Protocol. Internet Protocol. IPv6 Authentication header. For details, see RFC 2292 section 2.2.1, available at http://www.ietf.org. IPv6 Encapsulating Security Payload header. Internet Protocol version 4. Internet Protocol version 6 (IPv6). IPv6 Destination Options header. IPv6 Fragment header. IPv6 Hop by Hop Options header. IPv6 No next header. IPv6 Routing header. Internet Packet Exchange Protocol. Net Disk Protocol (unofficial). PARC Universal Packet Protocol. Raw IP packet protocol. Sequenced Packet Exchange protocol. Sequenced Packet Exchange version 2 protocol. Transmission Control Protocol. User Datagram Protocol. Unknown protocol. Unspecified protocol. Defines the polling modes for the method. Error status mode. Read status mode. Write status mode.