NegotiateStream::Flush Method ()
.NET Framework (current version)
Causes any buffered data to be written to the underlying device.
Assembly: System (in System.dll)
The following code example demonstrates flushing the stream.
int main() { // Establish the remote endpoint for the socket. // For this example, use the local machine. IPHostEntry^ ipHostInfo = Dns::GetHostEntry( Dns::GetHostName() ); IPAddress^ ipAddress = ipHostInfo->AddressList[ 0 ]; // Client and server use port 11000. IPEndPoint^ remoteEP = gcnew IPEndPoint( ipAddress,11000 ); // Create a TCP/IP socket. TcpClient^ client = gcnew TcpClient; // Connect the socket to the remote endpoint. client->Connect( remoteEP ); Console::WriteLine( L"Client connected to {0}.", remoteEP ); // Ensure the client does not close when there is // still data to be sent to the server. client->LingerState = (gcnew LingerOption( true,0 )); // Request authentication. NetworkStream^ clientStream = client->GetStream(); NegotiateStream^ authStream = gcnew NegotiateStream( clientStream ); // Request authentication for the client only (no mutual authentication). // Authenicate using the client's default credetials. // Permit the server to impersonate the client to access resources on the server only. // Request that data be transmitted using encryption and data signing. authStream->AuthenticateAsClient( dynamic_cast<NetworkCredential^>(CredentialCache::DefaultCredentials), L"", ProtectionLevel::EncryptAndSign, TokenImpersonationLevel::Impersonation ); DisplayAuthenticationProperties( authStream ); DisplayStreamProperties( authStream ); if ( authStream->CanWrite ) { // Encode the test data into a byte array. array<Byte>^message = System::Text::Encoding::UTF8->GetBytes( L"Hello from the client." ); authStream->Write( message, 0, message->Length ); authStream->Flush(); Console::WriteLine( L"Sent {0} bytes.", message->Length ); } // Close the client connection. authStream->Close(); Console::WriteLine( L"Client closed." ); }
.NET Framework
Available since 2.0
Available since 2.0
Show: