다음을 통해 공유


Socket.BeginReceive 메서드

정의

연결된 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

매개 변수

buffer
Byte[]

받는 데이터에 대한 스토리지 위치인 Byte 형식의 배열입니다.

offset
Int32

받을 데이터를 저장할 buffer 내의 위치입니다.

size
Int32

수신 바이트 수입니다.

socketFlags
SocketFlags

SocketFlags 값의 비트 조합입니다.

errorCode
SocketError

소켓 오류를 저장하는 SocketError 개체입니다.

callback
AsyncCallback

작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.

state
Object

수신 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 EndReceive(IAsyncResult) 대리자에게 전달됩니다.

반환

비동기 읽기를 참조하는 IAsyncResult입니다.

예외

buffernull입니다.

.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.

Socket이 닫힌 경우

offset 가 0보다 작습니다.

또는

offsetbuffer의 길이보다 큽니다.

또는

size 가 0보다 작습니다.

또는

sizebuffer의 길이에서 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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

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

매개 변수

buffer
Byte[]

수신된 데이터에 대한 스토리지 위치인 Byte 형식의 배열입니다.

offset
Int32

받은 데이터를 저장하기 위한 buffer 매개 변수의 위치(0부터 시작)입니다.

size
Int32

수신 바이트 수입니다.

socketFlags
SocketFlags

SocketFlags 값의 비트 조합입니다.

callback
AsyncCallback

작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.

state
Object

수신 작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 EndReceive(IAsyncResult) 대리자에게 전달됩니다.

반환

비동기 읽기를 참조하는 IAsyncResult입니다.

예외

buffernull입니다.

.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다.

Socket이 닫힌 경우

offset 가 0보다 작습니다.

또는

offsetbuffer의 길이보다 큽니다.

또는

size 가 0보다 작습니다.

또는

sizebuffer의 길이에서 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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

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입니다.

예외

buffernull입니다.

.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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상

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입니다.

예외

buffernull입니다.

.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 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.

추가 정보

적용 대상