Socket.BeginSend 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결된 Socket에 데이터를 비동기적으로 보냅니다.
오버로드
BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
연결된 Socket에 데이터를 비동기적으로 보냅니다. |
BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
연결된 Socket에 데이터를 비동기적으로 보냅니다. |
BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
연결된 Socket에 데이터를 비동기적으로 보냅니다. |
BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
연결된 Socket에 데이터를 비동기적으로 보냅니다. |
BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에 데이터를 비동기적으로 보냅니다.
public:
IAsyncResult ^ BeginSend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginSend (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginSend : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (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
이 요청에 대한 상태 정보를 포함하는 개체입니다.
반환
비동기 보내기를 참조하는 IAsyncResult입니다.
예외
buffers
이(가) null
인 경우
buffers
가 비어 있는 경우
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 설명 부분을 참조하십시오.
Socket이 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginSend 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginSend하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginSend 가져옵니다.
메서드를 호출 EndSend 하여 비동 BeginSend 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndSend 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
연결 지향 프로토콜을 위한 것이지만, BeginSend 또는 BeginConnect 메서드를 먼저 호출 Connect 하여 기본 원격 호스트를 설정하는 경우 연결 없는 프로토콜에도 작동합니다. 연결 없는 프로토콜을 사용하고 여러 호스트에 데이터를 보내려는 경우 를 사용해야 BeginSendTo합니다. 를 사용하여 기본 원격 호스트Connect를 설정한 후에도 사용할 BeginSendTo 수 있습니다. 또는 BeginConnect에 대해 다른 호출을 하여 호출 BeginSend 하기 전에 기본 원격 호스트를 Connect 변경할 수도 있습니다. 연결 없는 프로토콜을 사용하면 버퍼의 크기가 기본 서비스 공급자의 최대 패킷 크기를 초과하지 않는지 확인해야 합니다. 이 경우 데이터그램은 전송 BeginSend 되지 않고 을 throw합니다 SocketException.
플래그를 DontRoute 매개 변수로 socketflags
지정하면 보내는 데이터가 라우팅되지 않습니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
전송이 성공적으로 완료되었다고 해서 데이터가 성공적으로 전달되었음을 의미하지는 않습니다. 전송 시스템 내에서 전송할 데이터를 저장할 수 있는 버퍼 공간이 없는 경우 소켓이 차단 해제 모드에 배치되지 않는 한 전송이 차단됩니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
적용 대상
BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에 데이터를 비동기적으로 보냅니다.
public:
IAsyncResult ^ BeginSend(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? BeginSend (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginSend (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginSend : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (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
이 요청에 대한 상태 정보를 포함하는 개체입니다.
반환
비동기 보내기를 참조하는 IAsyncResult입니다.
예외
buffers
이(가) null
인 경우
buffers
가 비어 있는 경우
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 설명 부분을 참조하십시오.
Socket이 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginSend 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginSend하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginSend 가져옵니다.
메서드를 호출 EndSend 하여 비동 BeginSend 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndSend 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
연결 지향 프로토콜을 위한 것이지만, BeginSend 또는 BeginConnect 메서드를 먼저 호출 Connect 하여 기본 원격 호스트를 설정하는 경우 연결 없는 프로토콜에도 작동합니다. 연결 없는 프로토콜을 사용하고 여러 호스트에 데이터를 보내려는 경우 를 사용해야 BeginSendTo합니다. 를 사용하여 기본 원격 호스트Connect를 설정한 후에도 사용할 BeginSendTo 수 있습니다. 또는 BeginConnect에 대해 다른 호출을 하여 호출 BeginSend 하기 전에 기본 원격 호스트를 Connect 변경할 수도 있습니다. 연결 없는 프로토콜을 사용하면 버퍼의 크기가 기본 서비스 공급자의 최대 패킷 크기를 초과하지 않는지 확인해야 합니다. 이 경우 데이터그램은 전송 BeginSend 되지 않고 을 throw합니다 SocketException.
플래그를 DontRoute 매개 변수로 socketflags
지정하면 보내는 데이터가 라우팅되지 않습니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
전송이 성공적으로 완료되었다고 해서 데이터가 성공적으로 전달되었음을 의미하지는 않습니다. 전송 시스템 내에서 전송할 데이터를 저장할 수 있는 버퍼 공간이 없는 경우 소켓이 차단 해제 모드에 배치되지 않는 한 전송이 차단됩니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
적용 대상
BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에 데이터를 비동기적으로 보냅니다.
public:
IAsyncResult ^ BeginSend(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginSend (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginSend : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (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
이 요청에 대한 상태 정보를 포함하는 개체입니다.
반환
비동기 보내기를 참조하는 IAsyncResult입니다.
예외
buffer
은 null
입니다.
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 설명 부분을 참조하십시오.
offset
가 0보다 작습니다.
또는
offset
이 buffer
의 길이보다 작은 경우
또는
size
가 0보다 작습니다.
또는
size
가 buffer
의 길이에서 offset
매개 변수 값을 뺀 크기보다 큰 경우
Socket이 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginSend 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginSend하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginSend 가져옵니다.
메서드를 호출 EndSend 하여 비동 BeginSend 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndSend 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
연결 지향 프로토콜을 위한 것이지만, BeginSend 또는 BeginConnect 메서드를 먼저 호출 Connect 하여 기본 원격 호스트를 설정하는 경우 연결 없는 프로토콜에도 작동합니다. 연결 없는 프로토콜을 사용하고 여러 호스트에 데이터를 보내려는 경우 를 사용해야 BeginSendTo합니다. 를 사용하여 기본 원격 호스트Connect를 설정한 후에도 사용할 BeginSendTo 수 있습니다. 또는 BeginConnect에 대해 다른 호출을 하여 호출 BeginSend 하기 전에 기본 원격 호스트를 Connect 변경할 수도 있습니다. 연결 없는 프로토콜을 사용하면 버퍼의 크기가 기본 서비스 공급자의 최대 패킷 크기를 초과하지 않는지 확인해야 합니다. 이 경우 데이터그램은 전송 BeginSend 되지 않고 을 throw합니다 SocketException.
플래그를 DontRoute 매개 변수로 socketflags
지정하면 보내는 데이터가 라우팅되지 않습니다.
참고
를 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작한 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
전송이 성공적으로 완료되었다고 해서 데이터가 성공적으로 전달되었음을 의미하지는 않습니다. 전송 시스템 내에서 전송할 데이터를 저장할 수 있는 버퍼 공간이 없는 경우 소켓이 차단 해제 모드에 배치되지 않는 한 전송이 차단됩니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
적용 대상
BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
연결된 Socket에 데이터를 비동기적으로 보냅니다.
public:
IAsyncResult ^ BeginSend(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? BeginSend (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginSend (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginSend : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (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
매개 변수의 위치(0부터 시작)입니다.
- size
- Int32
보낼 바이트 수입니다.
- socketFlags
- SocketFlags
SocketFlags 값의 비트 조합입니다.
- errorCode
- SocketError
소켓 오류를 저장하는 SocketError 개체입니다.
- callback
- AsyncCallback
AsyncCallback 대리자입니다.
- state
- Object
이 요청에 대한 상태 정보를 포함하는 개체입니다.
반환
비동기 보내기를 참조하는 IAsyncResult입니다.
예외
buffer
은 null
입니다.
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 설명 부분을 참조하십시오.
offset
가 0보다 작습니다.
또는
offset
이 buffer
의 길이보다 작은 경우
또는
size
가 0보다 작습니다.
또는
size
가 buffer
의 길이에서 offset
매개 변수 값을 뺀 크기보다 큰 경우
Socket이 닫혔습니다.
설명
중요
호환성 API입니다. 새 개발에 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 기반 등가 Task
를 사용합니다.
를 구현하는 콜백을 AsyncCallbackBeginSend 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 를 호출 BeginSend하는 동안 콜백이 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다.
AsyncState 의 속성을 IAsyncResult 사용하여 메서드에 전달된 상태 개체를 BeginSend 가져옵니다.
메서드를 호출 EndSend 하여 비동 BeginSend 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndSend 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
연결 지향 프로토콜을 위한 것이지만, BeginSend 또는 BeginConnect 메서드를 먼저 호출 Connect 하여 기본 원격 호스트를 설정하는 경우 연결 없는 프로토콜에도 작동합니다. 연결 없는 프로토콜을 사용하고 여러 호스트에 데이터를 보내려는 경우 를 사용해야 BeginSendTo합니다. 를 사용하여 기본 원격 호스트Connect를 설정한 후에도 사용할 BeginSendTo 수 있습니다. 또는 BeginConnect에 대해 다른 호출을 하여 호출 BeginSend 하기 전에 기본 원격 호스트를 Connect 변경할 수도 있습니다. 연결 없는 프로토콜을 사용하면 버퍼의 크기가 기본 서비스 공급자의 최대 패킷 크기를 초과하지 않는지 확인해야 합니다. 이 경우 데이터그램은 전송 BeginSend 되지 않고 을 throw합니다 SocketException.
플래그를 DontRoute 매개 변수로 socketflags
지정하면 보내는 데이터가 라우팅되지 않습니다.
참고
을 수신하는 SocketException경우 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
지정된 스레드에서 시작된 모든 I/O는 해당 스레드가 종료될 때 취소됩니다. 작업이 완료되기 전에 스레드가 종료되면 보류 중인 비동기 작업이 실패할 수 있습니다.
참고
state
는 사용자 정의 클래스의 인스턴스화입니다.
참고
전송이 성공적으로 완료되었다고 해서 데이터가 성공적으로 배달되었음을 의미하지는 않습니다. 전송 시스템 내에서 전송할 데이터를 저장할 버퍼 공간이 없는 경우 소켓이 차단 해제 모드에 배치되지 않는 한 전송이 차단됩니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
추가 정보
적용 대상
.NET