NetworkStream 클래스

정의

네트워크 액세스를 위한 데이터의 기본 스트림을 제공합니다.Provides the underlying stream of data for network access.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
Public Class NetworkStream
Inherits Stream
상속
NetworkStream
상속

예제

다음 코드 예제에서는 연결 된 StreamSocket에서 NetworkStream를 만들고 기본적인 동기 블로킹 i/o를 수행 하는 방법을 보여 줍니다.The following code example demonstrates how to create a NetworkStream from a connected StreamSocket and perform basic synchronous blocking I/O.

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);          
}
else{
     myNetworkStream = new NetworkStream(mySocket);     
}
' Examples for constructors that do not specify file permission.
' Create the NetworkStream for communicating with the remote host.
Dim myNetworkStream As NetworkStream

If networkStreamOwnsSocket Then
   myNetworkStream = New NetworkStream(mySocket, True)
Else
   myNetworkStream = New NetworkStream(mySocket)
End If

설명

NetworkStream 클래스는 차단 모드에서 Stream 소켓을 통해 데이터를 보내고 받는 메서드를 제공 합니다.The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode. 차단 및 비차단 Sockets에 대 한 자세한 내용은 비동기 클라이언트 소켓 사용을 참조 하세요.For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. 동기 및 비동기 데이터 전송 모두에 NetworkStream 클래스를 사용할 수 있습니다.You can use the NetworkStream class for both synchronous and asynchronous data transfer. 동기 및 비동기 통신에 대 한 자세한 내용은 소켓을 참조 하십시오.For more information about synchronous and asynchronous communication, see Sockets.

NetworkStream만들려면 연결 된 Socket를 제공 해야 합니다.To create a NetworkStream, you must provide a connected Socket. 제공 된 Socket에 대 한 NetworkStream FileAccess 사용 권한을 지정할 수도 있습니다.You can also specify what FileAccess permission the NetworkStream has over the provided Socket. 기본적으로 NetworkStream를 닫으면 제공 된 Socket닫히지 않습니다.By default, closing the NetworkStream does not close the provided Socket. NetworkStream에 제공 된 Socket를 닫을 수 있는 권한을 부여 하려면 ownsSocket 매개 변수의 값에 true를 지정 해야 합니다.If you want the NetworkStream to have permission to close the provided Socket, you must specify true for the value of the ownsSocket parameter.

간단한 단일 스레드 동기식 블로킹 i/o에 WriteRead 메서드를 사용 합니다.Use the Write and Read methods for simple single thread synchronous blocking I/O. 별도의 스레드를 사용 하 여 i/o를 처리 하려면 BeginWriteEndWrite 메서드나 통신을 위한 BeginReadEndRead 메서드를 사용 하는 것이 좋습니다.If you want to process your I/O using separate threads, consider using the BeginWrite and EndWrite methods, or the BeginRead and EndRead methods for communication.

NetworkStream는 네트워크 데이터 스트림에 대 한 임의 액세스를 지원 하지 않습니다.The NetworkStream does not support random access to the network data stream. 스트림이 검색을 지원 하는지 여부를 나타내는 CanSeek 속성의 값은 항상 false입니다. Position 속성을 읽거나 Length 속성을 읽거나 Seek 메서드를 호출 하면 NotSupportedExceptionthrow 됩니다.The value of the CanSeek property, which indicates whether the stream supports seeking, is always false; reading the Position property, reading the Length property, or calling the Seek method will throw a NotSupportedException.

읽기 및 쓰기 작업은 동기화가 필요 하지 않고 NetworkStream 클래스의 인스턴스에서 동시에 수행할 수 있습니다.Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. 쓰기 작업에 대 한 하나의 고유 스레드 및 읽기 작업에 대해 하나의 고유 스레드에 있으면으로 읽기 간의 상호 간섭이 됩니다 되며 쓰기 스레드 및 동기화가 필요 합니다.As long as there is one unique thread for the write operations and one unique thread for the read operations, there will be no cross-interference between read and write threads and no synchronization is required.

생성자

NetworkStream(Socket)

지정된 NetworkStream에 대한 Socket 클래스의 새 인스턴스를 만듭니다.Creates a new instance of the NetworkStream class for the specified Socket.

NetworkStream(Socket, Boolean)

지정된 NetworkStream 소유권을 사용하여 지정된 Socket에 대한 Socket 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the NetworkStream class for the specified Socket with the specified Socket ownership.

NetworkStream(Socket, FileAccess)

지정된 액세스 권한을 사용하여 지정된 NetworkStream에 대한 Socket 클래스의 새 인스턴스를 만듭니다.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights.

NetworkStream(Socket, FileAccess, Boolean)

지정된 액세스 권한과 지정된 NetworkStream 소유권을 사용하여 지정된 Socket에 대한 Socket 클래스의 새 인스턴스를 만듭니다.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights and the specified Socket ownership.

속성

CanRead

NetworkStream이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the NetworkStream supports reading.

CanSeek

스트림이 검색을 지원 하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the stream supports seeking. 이 속성은 현재 지원되지 않습니다. 이 속성은 항상 false를 반환합니다.This property is not currently supported.This property always returns false.

CanTimeout

NetworkStream에 제한 시간 속성을 사용할 수 있는지 여부를 나타냅니다.Indicates whether timeout properties are usable for NetworkStream.

CanWrite

NetworkStream이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable

NetworkStream의 데이터를 읽을 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether data is available on the NetworkStream to be read.

Length

스트림에서 사용 가능한 데이터의 길이 가져옵니다.Gets the length of the data available on the stream. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다.This property is not currently supported and always throws a NotSupportedException.

Position

스트림 내의 현재 위치를 가져오거나 설정 합니다.Gets or sets the current position in the stream. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다.This property is not currently supported and always throws a NotSupportedException.

Readable

NetworkStream을 읽을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the NetworkStream can be read.

ReadTimeout

데이터를 기다리는 중 읽기 작업이 차단 하는 시간을 가져오거나 설정 합니다.Gets or sets the amount of time that a read operation blocks waiting for data.

Socket

내부 Socket를 가져옵니다.Gets the underlying Socket.

Writeable

NetworkStream이 쓰기 가능한지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout

데이터를 기다리는 중 쓰기 작업이 차단 하는 시간을 가져오거나 설정 합니다.Gets or sets the amount of time that a write operation blocks waiting for data.

메서드

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

NetworkStream에서 비동기 읽기를 시작합니다.Begins an asynchronous read from the NetworkStream.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

스트림에 비동기 쓰기를 시작합니다.Begins an asynchronous write to a stream.

Close()

NetworkStream를 닫습니다.Closes the NetworkStream.

Close(Int32)

데이터를 보낼 수 있도록 지정된 시간 동안 기다린 후에 NetworkStream을 닫습니다.Closes the NetworkStream after waiting the specified time to allow data to be sent.

CopyTo(Stream)

현재 스트림에서 바이트를 읽어서 다른 스트림에 해당 바이트를 씁니다.Reads the bytes from the current stream and writes them to another stream.

(다음에서 상속됨 Stream)
CopyTo(Stream, Int32)

현재 스트림에서 바이트를 읽어서 지정된 버퍼 크기로 다른 스트림에 씁니다.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(다음에서 상속됨 Stream)
CopyToAsync(Stream)

현재 스트림에서 모든 바이트를 비동기적으로 읽어 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 취소 토큰을 사용하여 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, Int32)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(다음에서 상속됨 Stream)
CreateObjRef(Type)

원격 개체와 통신 하는 데 프록시를 생성 하는 데 필요한 모든 관련 정보를 포함 하는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(다음에서 상속됨 MarshalByRefObject)
CreateWaitHandle()

WaitHandle 개체를 할당합니다.Allocates a WaitHandle object.

(다음에서 상속됨 Stream)
Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

(다음에서 상속됨 Stream)
Dispose(Boolean)

NetworkStream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제합니다.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync()

Stream에서 사용하는 관리되지 않는 리소스를 비동기적으로 해제합니다.Asynchronously releases the unmanaged resources used by the Stream.

(다음에서 상속됨 Stream)
EndRead(IAsyncResult)

비동기 읽기의 끝을 처리 합니다.Handles the end of an asynchronous read.

EndWrite(IAsyncResult)

비동기 쓰기의 끝을 처리 합니다.Handles the end of an asynchronous write.

Equals(Object)

지정한 개체가 현재 개체와 같은지를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Finalize()

NetworkStream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the NetworkStream.

Flush()

스트림에서 데이터를 플러시합니다.Flushes data from the stream. @FSHO2@이 메서드는 나중에 사용할 수 있도록 예약되어 있습니다.This method is reserved for future use.

FlushAsync()

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(다음에서 상속됨 Stream)
FlushAsync(CancellationToken)

스트림에서 데이터를에서 비동기 작업으로 플러시합니다.Flushes data from the stream as an asynchronous operation.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetLifetimeService()

이 인스턴스의 수명 정책을 제어 하는 현재의 수명 서비스 개체를 검색 합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(다음에서 상속됨 MarshalByRefObject)
ObjectInvariant()

Contract에 대한 지원을 제공합니다.Provides support for a Contract.

(다음에서 상속됨 Stream)
Read(Byte[], Int32, Int32)

NetworkStream에서 데이터를 읽고 바이트 배열에 저장합니다.Reads data from the NetworkStream and stores it to a byte array.

Read(Span<Byte>)

NetworkStream에서 데이터를 읽고 메모리의 바이트 범위에 저장합니다.Reads data from the NetworkStream and stores it to a span of bytes in memory.

ReadAsync(Byte[], Int32, Int32)

현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

NetworkStream에서 데이터를 읽고 비동기 작업으로 지정된 범위의 바이트 배열에 저장합니다.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

ReadAsync(Memory<Byte>, CancellationToken)

NetworkStream에서 데이터를 읽고 비동기 작업으로 바이트 메모리 범위에 저장합니다.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

ReadByte()

NetworkStream에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다.Reads a byte from the NetworkStream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

Seek(Int64, SeekOrigin)

스트림의 현재 위치를 지정된 된 값으로 설정합니다.Sets the current position of the stream to the given value. 이 메서드는 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다.This method is not currently supported and always throws a NotSupportedException.

SetLength(Int64)

스트림의 길이를 설정합니다.Sets the length of the stream. 이 메서드는 항상 NotSupportedException을 throw합니다.This method always throws a NotSupportedException.

ToString()

현재 개체를 나타내는 string을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
Write(Byte[], Int32, Int32)

지정된 범위의 바이트 배열에서 NetworkStream에 데이터를 씁니다.Writes data to the NetworkStream from a specified range of a byte array.

Write(ReadOnlySpan<Byte>)

읽기 전용 바이트 범위에서 NetworkStream에 데이터를 씁니다.Writes data to the NetworkStream from a read-only byte span.

WriteAsync(Byte[], Int32, Int32)

현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

지정된 범위의 바이트 배열에서 비동기 작업으로 NetworkStream에 데이터를 씁니다.Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

읽기 전용 메모리 바이트 메모리 범위에서 비동기 작업으로 NetworkStream에 데이터를 씁니다.Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation.

WriteByte(Byte)

NetworkStream의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다.Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte.

명시적 인터페이스 구현

IDisposable.Dispose()

NetworkStream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the NetworkStream.

적용 대상

추가 정보