내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

NetworkStream 클래스

네트워크 액세스를 위한 기본 데이터 스트림을 제공합니다.

System.Object
  System.MarshalByRefObject
    System.IO.Stream
      System.Net.Sockets.NetworkStream

네임스페이스:  System.Net.Sockets
어셈블리:  System(System.dll)

public class NetworkStream : Stream

NetworkStream 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드NetworkStream(Socket)지정된 Socket에 대한 NetworkStream 클래스의 새 인스턴스를 만듭니다.
Public 메서드NetworkStream(Socket, Boolean)지정된 Socket 소유권을 사용하여 지정된 Socket에 대한 NetworkStream 클래스의 새 인스턴스를 초기화합니다.
Public 메서드NetworkStream(Socket, FileAccess)지정된 액세스 권한을 사용하여 지정된 Socket에 대한 NetworkStream 클래스의 새 인스턴스를 만듭니다.
Public 메서드NetworkStream(Socket, FileAccess, Boolean)지정된 액세스 권한과 지정된 Socket 소유권을 사용하여 지정된 Socket에 대한 NetworkStream 클래스의 새 인스턴스를 만듭니다.
위쪽

  이름설명
Public 속성CanRead NetworkStream 이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다. (Stream.CanRead을(를) 재정의함)
Public 속성CanSeek스트림이 검색을 지원하는지 여부를 나타내는 값을 가져옵니다. 이 속성은 현재 지원되지 않습니다. 이 속성은 항상 false를 반환합니다. (Stream.CanSeek을(를) 재정의함)
Public 속성CanTimeout NetworkStream 에 제한 시간 속성을 사용할 수 있는지 여부를 나타냅니다. (Stream.CanTimeout을(를) 재정의함)
Public 속성CanWrite NetworkStream 이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다. (Stream.CanWrite을(를) 재정의함)
Public 속성DataAvailable NetworkStream 의 데이터를 읽을 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성Length스트림에서 사용할 수 있는 데이터의 길이를 가져옵니다. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다. (Stream.Length을(를) 재정의함)
Public 속성Position스트림 내의 현재 위치를 가져오거나 설정합니다. 이 속성은 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다. (Stream.Position을(를) 재정의함)
Protected 속성Readable NetworkStream 을 읽을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.
Public 속성ReadTimeout데이터를 기다리는 중 읽기 작업이 차단되는 시간을 가져오거나 설정합니다. (Stream.ReadTimeout을(를) 재정의함)
Protected 속성Socket내부 Socket를 가져옵니다.
Protected 속성Writeable NetworkStream 이 쓰기 가능한지 여부를 나타내는 값을 가져옵니다.
Public 속성WriteTimeout데이터를 기다리는 중 쓰기 작업이 차단되는 시간을 가져오거나 설정합니다. (Stream.WriteTimeout을(를) 재정의함)
위쪽

  이름설명
Public 메서드BeginRead NetworkStream 에서 비동기 읽기를 시작합니다. (Stream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)을(를) 재정의함)
Public 메서드BeginWrite스트림에 비동기 쓰기를 시작합니다. (Stream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)을(를) 재정의함)
Public 메서드Close()현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다. (Stream에서 상속됨)
Public 메서드Close(Int32)데이터를 보낼 수 있도록 지정된 시간 동안 기다린 후에 NetworkStream을 닫습니다.
Public 메서드CopyTo(Stream)현재 스트림에서 바이트를 읽어서 다른 스트림에 해당 바이트를 기록합니다. (Stream에서 상속됨)
Public 메서드CopyTo(Stream, Int32)현재 스트림에서 바이트를 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyToAsync(Stream)현재 스트림에서 모든 바이트를 비동기적으로 읽어 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyToAsync(Stream, Int32)현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyToAsync(Stream, Int32, CancellationToken)현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CreateObjRef원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Protected 메서드CreateWaitHandle 사용되지 않습니다. WaitHandle 개체를 할당합니다. (Stream에서 상속됨)
Public 메서드Dispose() Stream 에서 사용하는 모든 리소스를 해제합니다. (Stream에서 상속됨)
Protected 메서드Dispose(Boolean) NetworkStream 에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (Stream.Dispose(Boolean)을(를) 재정의함)
Public 메서드EndRead비동기 읽기의 끝을 처리합니다. (Stream.EndRead(IAsyncResult)을(를) 재정의함)
Public 메서드EndWrite비동기 쓰기의 끝을 처리합니다. (Stream.EndWrite(IAsyncResult)을(를) 재정의함)
Public 메서드Equals(Object) 지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize NetworkStream 에서 사용하는 모든 리소스를 해제합니다. (Object.Finalize()을(를) 재정의함)
Public 메서드Flush스트림에서 데이터를 플러시합니다. 이 메서드는 나중에 사용하도록 예약됩니다. (Stream.Flush()을(를) 재정의함)
Public 메서드FlushAsync()이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 장치에 비동기적으로 쓰여지도록 합니다. (Stream에서 상속됨)
Public 메서드FlushAsync(CancellationToken)스트림에서 데이터를 비동기 작업으로 플러시합니다. (Stream.FlushAsync(CancellationToken)을(를) 재정의함)
Public 메서드GetHashCode기본 해시 함수로 작동합니다. (Object에서 상속됨)
Public 메서드GetLifetimeService이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드InitializeLifetimeService이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Protected 메서드MemberwiseClone()현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone(Boolean)현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨)
Protected 메서드ObjectInvariant인프라입니다. 사용되지 않습니다. Contract 에 대한 지원을 제공합니다. (Stream에서 상속됨)
Public 메서드Read NetworkStream 에서 데이터를 읽습니다. (Stream.Read(Byte[], Int32, Int32)을(를) 재정의함)
Public 메서드ReadAsync(Byte[], Int32, Int32)현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다. (Stream에서 상속됨)
Public 메서드ReadAsync(Byte[], Int32, Int32, CancellationToken)현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다. (Stream에서 상속됨)
Public 메서드ReadByte스트림에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다. (Stream에서 상속됨)
Public 메서드Seek스트림의 현재 위치를 주어진 값으로 설정합니다. 이 메서드는 현재 지원되지 않으며 항상 NotSupportedException을 throw합니다. (Stream.Seek(Int64, SeekOrigin)을(를) 재정의함)
Public 메서드SetLength스트림의 길이를 설정합니다. 이 메서드는 항상 NotSupportedException을 throw합니다. (Stream.SetLength(Int64)을(를) 재정의함)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드Write NetworkStream 에 데이터를 씁니다. (Stream.Write(Byte[], Int32, Int32)을(를) 재정의함)
Public 메서드WriteAsync(Byte[], Int32, Int32)현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다. (Stream에서 상속됨)
Public 메서드WriteAsync(Byte[], Int32, Int32, CancellationToken)바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다. (Stream에서 상속됨)
Public 메서드WriteByte스트림의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다. (Stream에서 상속됨)
위쪽

NetworkStream 클래스는 블로킹 모드로 Stream 소켓을 통해 데이터를 보내고 받는 메서드를 제공합니다. 블로킹 및 비블로킹 모드 Socket에 대한 자세한 내용은 비동기 클라이언트 소켓을 사용 하 여을 참조하십시오. 동기 및 비동기 데이터 전송 모두에 NetworkStream 클래스를 사용할 수 있습니다. 동기 및 비동기 통신에 대한 자세한 내용은 소켓을 참조하십시오.

NetworkStream 을 만들려면 연결된 Socket을 제공해야 합니다. 제공된 Socket에 대해 NetworkStream이 가지는 FileAccess 사용 권한을 지정할 수도 있습니다. 기본적으로 NetworkStream을 닫아도 제공된 Socket은 닫히지 않습니다. 제공된 Socket을 닫기 위한 권한을 NetworkStream에 부여하려면 ownsSocket 매개 변수 값으로 true를 지정해야 합니다.

단순한 단일 스레드 동기 블로킹 I/O에는 WriteRead 메서드를 사용합니다. 별도의 스레드를 사용하여 I/O를 처리하려면 통신에 BeginWriteEndWrite 메서드나 BeginReadEndRead 메서드를 사용하십시오.

NetworkStream 은 네트워크 데이터 스트림에 대한 임의 액세스를 지원하지 않습니다. 스트림이 검색을 지원하는지 여부를 나타내는 CanSeek 속성의 값은 항상 false이므로 Position 속성을 읽거나 Length 속성을 읽거나 Seek 메서드를 호출하면 NotSupportedException이 throw됩니다.

동기화하지 않고도 NetworkStream 클래스의 인스턴스에서 읽기 및 쓰기 작업을 동시에 수행할 수 있습니다. 쓰기 작업과 읽기 작업에 각각 고유 스레드가 하나씩 있으면 읽기 및 쓰기 스레드 간에 서로 방해하지 않으므로 동기화할 필요가 없습니다.

다음 코드 예제에서는 연결된 StreamSocket에서 NetworkStream을 만들고 기본 동기 블로킹 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 = new NetworkStream(mySocket, true);          
}
else{
     myNetworkStream = new NetworkStream(mySocket);     
}


.NET Framework

4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

이 형식의 static(Visual Basic의 경우 Shared) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft