NetworkStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
스트림에 비동기 쓰기를 시작합니다.
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int size, AsyncCallback ^ callback, System::Object ^ state);
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int size, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int size, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, size As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- buffer
- Byte[]
Byte에 쓸 데이터를 포함하는 NetworkStream 형식의 배열입니다.
- offset
- Int32
데이터를 보내기 시작하는 buffer
내의 위치입니다.
- sizecount
- Int32
NetworkStream에 쓸 바이트 수입니다.
- callback
- AsyncCallback
AsyncCallback가 완료될 때 실행되는 BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 대리자입니다.
- state
- Object
추가 사용자 정의 데이터가 들어 있는 개체입니다.
반환
비동기 호출을 나타내는 IAsyncResult입니다.
예외
buffer
매개 변수가 null
인 경우
offset
매개 변수가 0보다 작은 경우
또는
offset
매개 변수가 buffer
의 길이보다 큰 경우
또는
size
매개 변수가 0보다 작은 경우
또는
size
매개 변수가 buffer
의 길이에서 offset
매개 변수의 값을 뺀 값보다 큰 경우
NetworkStream가 닫혔습니다.
설명
중요
호환성 API이므로 새 개발에 APM (시작/종료) 메서드를 사용하지 않는 것이 좋습니다. 대신 작업 기반 등가를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginWrite 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginWrite하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginWrite 가져옵니다.
메서드를 BeginWrite 호출 EndWrite 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndWrite 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
참고
를 수신하는 IOException경우 속성을 검사 InnerException 속성이 로 SocketException인해 발생했는지 확인합니다. 그렇다면 속성을 사용하여 ErrorCode 특정 오류 코드를 가져옵니다.
읽기 및 쓰기 작업은 동기화할 필요 없이 클래스의 NetworkStream instance 동시에 수행할 수 있습니다. 쓰기 작업에 고유한 스레드가 하나 있고 읽기 작업에 고유한 스레드가 하나 있는 한 읽기 스레드와 쓰기 스레드 간에 교차 간섭이 없고 동기화가 필요하지 않습니다.
적용 대상
추가 정보
.NET