Socket.BeginSendFile 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파일을 연결된 Socket 개체에 비동기적으로 보냅니다.
오버로드
BeginSendFile(String, AsyncCallback, Object) |
Socket 플래그를 사용하여 |
BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object) |
파일 및 데이터 버퍼를 연결된 Socket 개체에 비동기적으로 보냅니다. |
BeginSendFile(String, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Socket 플래그를 사용하여 fileName
파일을 연결된 UseDefaultWorkerThread 개체에 보냅니다.
public:
IAsyncResult ^ BeginSendFile(System::String ^ fileName, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSendFile (string fileName, AsyncCallback? callback, object? state);
public IAsyncResult BeginSendFile (string? fileName, AsyncCallback? callback, object? state);
public IAsyncResult BeginSendFile (string fileName, AsyncCallback callback, object state);
member this.BeginSendFile : string * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendFile (fileName As String, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- fileName
- String
보낼 파일의 경로 및 이름이 들어 있는 문자열입니다. 이 매개 변수는 null
일 수 있습니다.
- callback
- AsyncCallback
AsyncCallback 대리자입니다.
- state
- Object
이 요청에 대한 상태 정보를 포함하는 개체입니다.
반환
비동기 보내기를 나타내는 IAsyncResult 개체입니다.
예외
Socket 개체가 닫힌 경우
소켓이 원격 호스트에 연결되지 않은 경우
fileName
파일을 찾을 수 없는 경우
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 설명 부분을 참조하십시오.
설명
중요
호환성 API입니다. 새 개발을 위해 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task
등가를 사용합니다.
이 오버로드는 소켓을 통해 파일을 fileName
보냅니다. 가 로컬 디렉터리에 있는 경우 fileName
파일 이름만으로 식별될 수 있습니다. 그렇지 않으면 파일의 전체 경로와 이름을 지정해야 합니다. 와일드카드(".. \\myfile.txt") 및 UNC 공유 이름("\\\\shared directory\\myfile.txt")이 지원됩니다. 파일을 찾을 수 없으면 예외 FileNotFoundException 가 throw됩니다.
를 구현하는 콜백을 AsyncCallbackBeginSendFile 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 콜백은 를 호출 BeginSendFile하는 동안 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginSendFile 가져옵니다.
메서드를 BeginSendFile 호출 EndSendFile 하여 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 AsyncCallback . EndSendFile 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
연결 지향 프로토콜을 위한 것이지만, BeginSendFile 또는 BeginConnect 메서드를 먼저 호출 Connect 하여 기본 원격 호스트를 설정하는 경우 연결 없는 프로토콜에서도 작동합니다. 연결이 없는 프로토콜을 사용하면 파일 크기가 기본 서비스 공급자의 최대 패킷 크기를 초과하지 않는지 확인해야 합니다. 이 경우 데이터그램이 전송 BeginSendFile 되지 않고 예외가 SocketException throw됩니다.
참고
예외가 SocketException 표시되면 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
적용 대상
BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
파일 및 데이터 버퍼를 연결된 Socket 개체에 비동기적으로 보냅니다.
public:
IAsyncResult ^ BeginSendFile(System::String ^ fileName, cli::array <System::Byte> ^ preBuffer, cli::array <System::Byte> ^ postBuffer, System::Net::Sockets::TransmitFileOptions flags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSendFile (string? fileName, byte[]? preBuffer, byte[]? postBuffer, System.Net.Sockets.TransmitFileOptions flags, AsyncCallback? callback, object? state);
public IAsyncResult BeginSendFile (string fileName, byte[] preBuffer, byte[] postBuffer, System.Net.Sockets.TransmitFileOptions flags, AsyncCallback callback, object state);
member this.BeginSendFile : string * byte[] * byte[] * System.Net.Sockets.TransmitFileOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendFile (fileName As String, preBuffer As Byte(), postBuffer As Byte(), flags As TransmitFileOptions, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- fileName
- String
보낼 파일의 경로 및 이름이 들어 있는 문자열입니다. 이 매개 변수는 null
일 수 있습니다.
- preBuffer
- Byte[]
파일을 보내기 전에 보낼 데이터입니다. 이 매개 변수는 null
일 수 있습니다.
- postBuffer
- Byte[]
파일을 보낸 후 보낼 데이터입니다. 이 매개 변수는 null
일 수 있습니다.
- flags
- TransmitFileOptions
열거형 값의 비트 조합입니다.
- callback
- AsyncCallback
이 작업이 완료되면 호출될 AsyncCallback 대리자입니다. 이 매개 변수는 null
일 수 있습니다.
- state
- Object
이 요청에 대한 상태 정보가 들어 있는 사용자 정의 개체입니다. 이 매개 변수는 null
일 수 있습니다.
반환
비동기 작업을 나타내는 IAsyncResult 개체입니다.
예외
Socket 개체가 닫힌 경우
.NET Framework 및 .NET 5 이하만 해당: 소켓에 액세스하려고 할 때 오류가 발생했습니다. 아래의 설명 부분을 참조하십시오.
fileName
파일을 찾을 수 없는 경우
설명
중요
호환성 API입니다. 새 개발을 위해 APM (Begin*
및 End*
) 메서드를 사용하지 않는 것이 좋습니다. 대신 에 기반한 Task
등가를 사용합니다.
이 오버로드에는 보낼 파일의 이름과 값의 TransmitFileOptions 비트 조합이 필요합니다. 매개 변수에는 preBuffer
파일 앞에 하려는 모든 데이터가 포함됩니다.
postBuffer
에는 파일을 따르려는 데이터가 포함되어 있습니다. 가 로컬 디렉터리에 있는 경우 fileName
파일 이름만으로 식별될 수 있습니다. 그렇지 않으면 파일의 전체 경로와 이름을 지정해야 합니다. 와일드카드(".. \\myfile.txt") 및 UNC 공유 이름("\\\\shared directory\\myfile.txt")이 지원됩니다. 파일을 찾을 수 없으면 예외 FileNotFoundException 가 throw됩니다.
매개 변수는 flags
파일 전송에 대한 추가 정보를 제공합니다. 이 매개 변수를 사용하는 방법에 대한 자세한 내용은 를 참조하세요 TransmitFileOptions.
를 구현하는 콜백을 AsyncCallbackBeginSendFile 전달하여 작업 완료에 대한 알림을 받을 수 있습니다. 기본 네트워크 스택이 동기적으로 작업을 완료하는 경우 콜백은 를 호출 BeginSendFile하는 동안 인라인으로 실행됩니다. 이 경우 반환 IAsyncResult 된 의 CompletedSynchronously 속성이 로 설정 true
되어 메서드가 동기적으로 완료되었음을 나타냅니다. 사용 하 여는 의 AsyncStateIAsyncResult 속성을 메서드에 전달 된 상태 개체를 BeginSendFile 가져옵니다.
메서드를 BeginSendFile 호출 EndSendFile 하여 작업을 완료해야 합니다. 일반적으로 메서드는 제공된 대리자에서 호출됩니다 AsyncCallback . EndSendFile 는 작업이 완료될 때까지 호출 스레드를 차단합니다.
연결 지향 프로토콜을 위한 것이지만, BeginSendFile 또는 BeginConnect 메서드를 먼저 호출 Connect 하여 기본 원격 호스트를 설정하는 경우 연결 없는 프로토콜에서도 작동합니다. 연결이 없는 프로토콜을 사용하면 파일 크기가 기본 서비스 공급자의 최대 패킷 크기를 초과하지 않는지 확인해야 합니다. 이 경우 데이터그램이 전송 BeginSendFile 되지 않고 예외가 SocketException throw됩니다.
참고
예외가 SocketException 표시되면 속성을 사용하여 SocketException.ErrorCode 특정 오류 코드를 가져옵니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework 네트워크 추적을 참조하세요.
참고
실행 컨텍스트(보안 컨텍스트, 가장된 사용자 및 호출 컨텍스트)는 비동 Socket 기 메서드에 대해 캐시됩니다. 특정 컨텍스트(특정 비동 Socket 기 메서드, 특정 instance 및 특정 Socket 콜백)를 처음 사용한 후 해당 컨텍스트를 나중에 사용하면 성능이 향상됩니다.
적용 대상
.NET