NetworkStream 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
네트워크 액세스를 위한 데이터의 기본 스트림을 제공합니다.
public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
inherit Stream
type NetworkStream = class
inherit Stream
interface IDisposable
Public Class NetworkStream
Inherits Stream
- 상속
- 상속
- 구현
설명
클래스는 NetworkStream 차단 모드에서 소켓을 통해 Stream 데이터를 보내고 받는 메서드를 제공합니다. 차단 및 비블로킹 Socket에 대한 자세한 내용은 비동기 클라이언트 소켓 사용을 참조하세요. 동기 및 비동기 데이터 전송 모두에 클래스를 사용할 NetworkStream 수 있습니다. 동기 및 비동기 통신에 대한 자세한 내용은 소켓을 참조하세요.
를 NetworkStream만들려면 연결된 Socket를 제공해야 합니다. 제공된 Socket에 대한 NetworkStream 사용 권한을 지정할 FileAccess 수도 있습니다. 기본적으로 를 닫으면 NetworkStream 제공된 Socket가 닫히지 않습니다. 에서 NetworkStream 제공된 Socket를 닫을 수 있는 권한을 갖도록 하려면 매개 변수 값 ownsSocket
에 대해 를 지정 true
해야 합니다.
Write 간단한 단일 스레드 동기 차단 I/O에 및 Read 메서드를 사용합니다. I/O를 비동기적으로 처리하려면 또는 ValueTask기반 메서드 ReadAsync 및 WriteAsync를 Task 사용하는 것이 좋습니다.
는 NetworkStream 네트워크 데이터 스트림에 대한 임의 액세스를 지원하지 않습니다. 스트림이 검색을 CanSeek 지원하는지 여부를 나타내는 속성 값은 항상 false
이고, 속성을 읽거나, 속성을 읽 PositionLength 거나, 메서드를 Seek 호출하면 가 NotSupportedExceptionthrow됩니다.
읽기 및 쓰기 작업은 동기화할 필요 없이 클래스의 NetworkStream instance 동시에 수행할 수 있습니다. 쓰기 작업에 고유한 스레드가 하나 있고 읽기 작업에 고유한 스레드가 하나 있는 한 읽기 스레드와 쓰기 스레드 간에 교차 간섭이 없고 동기화가 필요하지 않습니다.
생성자
NetworkStream(Socket) |
지정된 NetworkStream에 대한 Socket 클래스의 새 인스턴스를 만듭니다. |
NetworkStream(Socket, Boolean) |
지정된 NetworkStream 소유권을 사용하여 지정된 Socket에 대한 Socket 클래스의 새 인스턴스를 초기화합니다. |
NetworkStream(Socket, FileAccess) |
지정된 액세스 권한을 사용하여 지정된 NetworkStream에 대한 Socket 클래스의 새 인스턴스를 만듭니다. |
NetworkStream(Socket, FileAccess, Boolean) |
지정된 액세스 권한과 지정된 NetworkStream 소유권을 사용하여 지정된 Socket에 대한 Socket 클래스의 새 인스턴스를 만듭니다. |
속성
CanRead |
NetworkStream이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다. |
CanSeek |
스트림이 검색을 지원하는지 여부를 나타내는 값을 가져옵니다. 현재 이 속성이 지원되지 않는 경우 이 속성은 항상 |
CanTimeout |
NetworkStream에 제한 시간 속성을 사용할 수 있는지 여부를 나타냅니다. |
CanTimeout |
현재 스트림이 시간 초과될 수 있는지를 결정하는 값을 가져옵니다. (다음에서 상속됨 Stream) |
CanWrite |
NetworkStream이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다. |
DataAvailable |
에서 데이터를 즉시 읽을 수 NetworkStream 있는지 여부를 나타내는 값을 가져옵니다. |
Length |
스트림에서 사용할 수 있는 데이터의 길이를 가져옵니다. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다. |
Position |
스트림 내의 현재 위치를 가져오거나 설정합니다. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다. |
Readable |
NetworkStream을 읽을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. |
ReadTimeout |
데이터를 기다리는 중 읽기 작업이 차단되는 시간을 가져오거나 설정합니다. |
ReadTimeout |
스트림 읽기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다. (다음에서 상속됨 Stream) |
Socket |
내부 Socket를 가져옵니다. |
Writeable |
NetworkStream이 쓰기 가능한지 여부를 나타내는 값을 가져옵니다. |
WriteTimeout |
데이터를 기다리는 중 쓰기 작업이 차단되는 시간을 가져오거나 설정합니다. |
WriteTimeout |
스트림 쓰기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다. (다음에서 상속됨 Stream) |
메서드
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
NetworkStream에서 비동기 읽기를 시작합니다. |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
비동기 읽기 작업을 시작합니다. 대신 ReadAsync(Byte[], Int32, Int32)를 사용하세요. (다음에서 상속됨 Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
스트림에 비동기 쓰기를 시작합니다. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
비동기 쓰기 작업을 시작합니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요. (다음에서 상속됨 Stream) |
Close() |
NetworkStream를 닫습니다. |
Close() |
현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다. (다음에서 상속됨 Stream) |
Close(Int32) |
데이터를 보낼 수 있도록 지정된 시간 동안 기다린 후에 NetworkStream을 닫습니다. |
Close(TimeSpan) |
NetworkStream 데이터를 보낼 수 있도록 지정된 시간을 기다린 후 을 닫습니다. |
CopyTo(Stream) |
현재 스트림에서 바이트를 읽어서 다른 스트림에 해당 바이트를 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyTo(Stream, Int32) |
현재 스트림에서 바이트를 읽어서 지정된 버퍼 크기로 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream) |
현재 스트림에서 모든 바이트를 비동기적으로 읽어 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream, CancellationToken) |
현재 스트림에서 바이트를 비동기적으로 읽어 지정된 취소 토큰을 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream, Int32) |
현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
CreateWaitHandle() |
사용되지 않음.
사용되지 않음.
사용되지 않음.
WaitHandle 개체를 할당합니다. (다음에서 상속됨 Stream) |
Dispose() |
Stream에서 사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 Stream) |
Dispose(Boolean) |
NetworkStream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. |
DisposeAsync() |
Stream에서 사용하는 관리되지 않는 리소스를 비동기적으로 해제합니다. (다음에서 상속됨 Stream) |
EndRead(IAsyncResult) |
비동기 읽기의 끝을 처리합니다. |
EndRead(IAsyncResult) |
보류 중인 비동기 읽기가 완료되기를 기다립니다. 대신 ReadAsync(Byte[], Int32, Int32)를 사용하세요. (다음에서 상속됨 Stream) |
EndWrite(IAsyncResult) |
비동기 쓰기의 끝을 처리합니다. |
EndWrite(IAsyncResult) |
비동기 쓰기 작업을 끝냅니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요. (다음에서 상속됨 Stream) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Finalize() |
NetworkStream에서 사용하는 모든 리소스를 해제합니다. |
Flush() |
스트림에서 데이터를 플러시합니다. 이 메서드는 나중에 사용하도록 예약됩니다. |
FlushAsync() |
이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다. (다음에서 상속됨 Stream) |
FlushAsync(CancellationToken) |
스트림에서 데이터를 비동기 작업으로 플러시합니다. |
FlushAsync(CancellationToken) |
이 스트림에 대해 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 내부 디바이스에 쓰여지도록 하고 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
ObjectInvariant() |
사용되지 않음.
Contract에 대한 지원을 제공합니다. (다음에서 상속됨 Stream) |
Read(Byte[], Int32, Int32) |
NetworkStream에서 데이터를 읽고 바이트 배열에 저장합니다. |
Read(Span<Byte>) |
NetworkStream에서 데이터를 읽고 메모리의 바이트 범위에 저장합니다. |
Read(Span<Byte>) |
파생 클래스에서 재정의되면 현재 스트림에서 바이트의 시퀀스를 읽고, 읽은 바이트 수만큼 스트림 내에서 앞으로 이동합니다. (다음에서 상속됨 Stream) |
ReadAsync(Byte[], Int32, Int32) |
현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다. (다음에서 상속됨 Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
NetworkStream에서 데이터를 읽고 비동기 작업으로 지정된 범위의 바이트 배열에 저장합니다. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
NetworkStream에서 데이터를 읽고 비동기 작업으로 바이트 메모리 범위에 저장합니다. |
ReadAsync(Memory<Byte>, CancellationToken) |
현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
현재 스트림에서 최소 바이트 수를 읽고 읽은 바이트 수만큼 스트림 내의 위치를 진행합니다. (다음에서 상속됨 Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
현재 스트림에서 최소 바이트 수를 비동기적으로 읽고, 스트림 내의 위치를 읽은 바이트 수만큼 발전시키고, 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
ReadByte() |
NetworkStream에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다. |
ReadByte() |
스트림에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다. (다음에서 상속됨 Stream) |
ReadExactly(Byte[], Int32, Int32) |
|
ReadExactly(Span<Byte>) |
현재 스트림에서 바이트를 읽고 가 채워질 때까지 |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
현재 스트림에서 바이트 수를 비동기적으로 읽고 |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
현재 스트림에서 바이트를 비동기적으로 읽고, 가 채워질 때까지 |
Seek(Int64, SeekOrigin) |
스트림의 현재 위치를 주어진 값으로 설정합니다. 이 메서드는 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다. |
SetLength(Int64) |
스트림의 길이를 설정합니다. 이 메서드는 항상 NotSupportedException을 throw합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
Write(Byte[], Int32, Int32) |
지정된 범위의 바이트 배열에서 NetworkStream에 데이터를 씁니다. |
Write(ReadOnlySpan<Byte>) |
읽기 전용 바이트 범위에서 에 데이터를 NetworkStream 씁니다. |
Write(ReadOnlySpan<Byte>) |
파생 클래스를 재정의될 때 현재 스트림에 바이트의 시퀀스를 쓰고 쓰여진 바이트 수만큼 이 스트림 내에서 앞으로 이동합니다. (다음에서 상속됨 Stream) |
WriteAsync(Byte[], Int32, Int32) |
현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다. (다음에서 상속됨 Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
지정된 범위의 바이트 배열에서 비동기 작업으로 NetworkStream에 데이터를 씁니다. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
읽기 전용 메모리 바이트 메모리 범위에서 비동기 작업으로 NetworkStream에 데이터를 씁니다. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
WriteByte(Byte) |
NetworkStream의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다. |
WriteByte(Byte) |
스트림의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다. (다음에서 상속됨 Stream) |
명시적 인터페이스 구현
IDisposable.Dispose() |
이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다. NetworkStream에서 사용하는 모든 리소스를 해제합니다. |
확장 메서드
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Stream의 바이트를 비동기식으로 읽고 취소 토큰을 사용하여 지정된 PipeWriter에 씁니다. |
ConfigureAwait(IAsyncDisposable, Boolean) |
비동기 일회용에서 반환되는 작업을 대기하는 방법을 구성합니다. |
적용 대상
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기