Socket.BeginReceive 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다.
오버로드
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다.
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- offset
- Int32
받을 데이터를 저장할 buffer
내의 위치입니다.
- size
- Int32
수신 바이트 수입니다.
- socketFlags
- SocketFlags
SocketFlags 값의 비트 조합입니다.
- errorCode
- SocketError
소켓 오류를 저장하는 SocketError 개체입니다.
- callback
- AsyncCallback
작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.
- state
- Object
수신 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 EndReceive(IAsyncResult) 대리자에게 전달됩니다.
반환
비동기 읽기를 참조하는 IAsyncResult입니다.
예외
buffer
은 null
입니다.
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.
Socket이 닫힌 경우
offset
가 0보다 작습니다.
또는
offset
이 buffer
의 길이보다 큽니다.
또는
size
가 0보다 작습니다.
또는
size
가 buffer
의 길이에서 offset
매개 변수 값을 뺀 크기보다 큰 경우
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginReceive 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginReceive하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginReceive 가져옵니다.
메서드를 호출 EndReceive 하여 비동 BeginReceive 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndReceive 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
를 Socket 닫아 보류 중인 를 취소합니다 BeginReceive. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginReceive 제공된 콜백이 호출됩니다. 메서드에 대한 EndReceive 후속 호출은 작업이 취소되었음을 나타내기 위해 (.NET 7 이전) 또는 SocketException (.NET 7 이상)을 throw ObjectDisposedException 합니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 콜백 메서드로 대리자 마샬링
- 비동기 클라이언트 소켓 예제
- 비동기 서버 소켓 예제
적용 대상
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다.
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- offset
- Int32
받은 데이터를 저장하기 위한 buffer
매개 변수의 위치(0부터 시작)입니다.
- size
- Int32
수신 바이트 수입니다.
- socketFlags
- SocketFlags
SocketFlags 값의 비트 조합입니다.
- callback
- AsyncCallback
작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.
- state
- Object
수신 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 EndReceive(IAsyncResult) 대리자에게 전달됩니다.
반환
비동기 읽기를 참조하는 IAsyncResult입니다.
예외
buffer
은 null
입니다.
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.
Socket이 닫힌 경우
offset
가 0보다 작습니다.
또는
offset
이 buffer
의 길이보다 큽니다.
또는
size
가 0보다 작습니다.
또는
size
가 buffer
의 길이에서 offset
매개 변수 값을 뺀 크기보다 큰 경우
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginReceive 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginReceive하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginReceive 가져옵니다.
메서드를 호출 EndReceive 하여 비동 BeginReceive 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndReceive 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
를 Socket 닫아 보류 중인 를 취소합니다 BeginReceive. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginReceive 제공된 콜백이 호출됩니다. 메서드에 대한 EndReceive 후속 호출은 작업이 취소되었음을 나타내기 위해 (.NET 7 이전) 또는 SocketException (.NET 7 이상)을 throw ObjectDisposedException 합니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 콜백 메서드로 대리자 마샬링
- 비동기 클라이언트 소켓 예제
- 비동기 서버 소켓 예제
적용 대상
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다.
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- buffers
- IList<ArraySegment<Byte>>
수신된 데이터에 대한 스토리지 위치인 Byte 형식의 배열입니다.
- socketFlags
- SocketFlags
SocketFlags 값의 비트 조합입니다.
- callback
- AsyncCallback
작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.
- state
- Object
수신 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 EndReceive(IAsyncResult) 대리자에게 전달됩니다.
반환
비동기 읽기를 참조하는 IAsyncResult입니다.
예외
buffer
은 null
입니다.
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.
Socket이 닫힌 경우
설명
중요
호환성 API입니다. 새 개발을 위해 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task
등가를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginReceive 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 콜백은 를 호출 BeginReceive하는 동안 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginReceive 가져옵니다.
메서드를 호출 EndReceive 하여 비동 BeginReceive 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndReceive 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
를 Socket 닫아 보류 중인 을 취소합니다 BeginReceive. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginReceive 제공된 콜백이 호출됩니다. 메서드에 EndReceive 대한 후속 호출은 (.NET 7 이전) 또는 SocketException (.NET 7 이상)를 throw ObjectDisposedException 하여 작업이 취소되었음을 나타냅니다.
참고
을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작된 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 콜백 메서드로 대리자 마샬링
- 비동기 클라이언트 소켓 예제
- 비동기 서버 소켓 예제
적용 대상
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에서 데이터를 비동기적으로 받기 시작합니다.
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- buffers
- IList<ArraySegment<Byte>>
수신된 데이터에 대한 스토리지 위치인 Byte 형식의 배열입니다.
- socketFlags
- SocketFlags
SocketFlags 값의 비트 조합입니다.
- errorCode
- SocketError
소켓 오류를 저장하는 SocketError 개체입니다.
- callback
- AsyncCallback
작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.
- state
- Object
수신 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 EndReceive(IAsyncResult) 대리자에게 전달됩니다.
반환
비동기 읽기를 참조하는 IAsyncResult입니다.
예외
buffer
은 null
입니다.
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.
Socket이 닫힌 경우
설명
중요
호환성 API입니다. 새 개발을 위해 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task
등가를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginReceive 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 콜백은 를 호출 BeginReceive하는 동안 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginReceive 가져옵니다.
메서드를 호출 EndReceive 하여 비동 BeginReceive 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndReceive 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
를 Socket 닫아 보류 중인 을 취소합니다 BeginReceive. Close 비동기 작업이 진행되는 동안 메서드가 호출되면 메서드에 BeginReceive 제공된 콜백이 호출됩니다. 메서드에 EndReceive 대한 후속 호출은 (.NET 7 이전) 또는 SocketException (.NET 7 이상)를 throw ObjectDisposedException 하여 작업이 취소되었음을 나타냅니다.
참고
을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작된 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 콜백 메서드로 대리자 마샬링
- 비동기 클라이언트 소켓 예제
- 비동기 서버 소켓 예제
적용 대상
.NET