System.Net.Sockets.UdpClient.FreeResources C# (CSharp) Method

FreeResources() private method

private FreeResources ( ) : void
return void
        private void FreeResources()
        {
            // The only resource we need to free is the network stream, since this
            // is based on the client socket, closing the stream will cause us
            // to flush the data to the network, close the stream and (in the
            // NetoworkStream code) close the socket as well.
            if (_cleanedUp)
            {
                return;
            }

            Socket chkClientSocket = _clientSocket;
            if (chkClientSocket != null)
            {
                // If the NetworkStream wasn't retrieved, the Socket might
                // still be there and needs to be closed to release the effect
                // of the Bind() call and free the bound IPEndPoint.
                chkClientSocket.InternalShutdown(SocketShutdown.Both);
                chkClientSocket.Dispose();
                _clientSocket = null;
            }
            _cleanedUp = true;
        }