|
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
|
Übersetzung
Original
|
Socket.BeginSendFile-Methode (String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)
Namespace: System.Net.Sockets
Assembly: System (in System.dll)
[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)] public IAsyncResult BeginSendFile( string fileName, byte[] preBuffer, byte[] postBuffer, TransmitFileOptions flags, AsyncCallback callback, Object state )
Parameter
- fileName
- Typ: System.String
Eine Zeichenfolge, die den Pfad und Namen der zu sendenden Datei enthält. Dieser Parameter kann null sein.
- preBuffer
- Typ: System.Byte[]
Ein Byte-Array, das Daten enthält, die vor dem Senden der Datei gesendet werden sollen. Dieser Parameter kann null sein.
- postBuffer
- Typ: System.Byte[]
Ein Byte-Array, das Daten enthält, die nach dem Senden der Datei gesendet werden sollen. Dieser Parameter kann null sein.
- flags
- Typ: System.Net.Sockets.TransmitFileOptions
Eine bitweise Kombination von TransmitFileOptions-Werten.
- callback
- Typ: System.AsyncCallback
Ein AsyncCallback-Delegat, der nach Abschluss dieses Vorgangs aufgerufen werden soll. Dieser Parameter kann null sein.
- state
- Typ: System.Object
Ein benutzerdefiniertes Objekt mit Zustandsinformationen für diese Anforderung. Dieser Parameter kann null sein.
| Ausnahme | Bedingung |
|---|---|
| ObjectDisposedException | |
| SocketException | |
| NotSupportedException | |
| FileNotFoundException |
Hinweis |
|---|
Hinweis |
|---|
Hinweis |
|---|
Hinweis |
|---|
Das auf diesen Typ oder Member angewendete HostProtectionAttribute-Attribut besitzt den folgenden Resources-Eigenschaftswert: ExternalThreading. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute. |
public static void AsynchronousFileSendWithBuffers() { // Send a file asynchronously to the remote device. Send a buffer before the file and a buffer afterwards. // Establish the remote endpoint for the socket. IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ipAddress = ipHostInfo.AddressList[0]; IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000); // Create a TCP/IP socket. Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // Connect to the remote endpoint. client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client); // Wait for connect. connectDone.WaitOne(); // Send a file fileName to the remote device with preBuffer and postBuffer data. // Create the preBuffer data. string string1 = String.Format("This is text data that precedes the file.{0}", Environment.NewLine); byte[] preBuf = Encoding.ASCII.GetBytes(string1); // Create the postBuffer data. string string2 = String.Format("This is text data that will follow the file.{0}", Environment.NewLine); byte[] postBuf = Encoding.ASCII.GetBytes(string2); // There is a file test.txt in the root directory. string fileName = "C:\\test.txt"; //Send file fileName with buffers and default flags to the remote device. Console.WriteLine(fileName); client.BeginSendFile(fileName, preBuf, postBuf, 0, new AsyncCallback(AsynchronousFileSendCallback), client); // Release the socket. client.Shutdown(SocketShutdown.Both); client.Close(); } private static void AsynchronousFileSendCallback(IAsyncResult ar) { // Retrieve the socket from the state object. Socket client = (Socket) ar.AsyncState; // Complete sending the data to the remote device. client.EndSendFile(ar); sendDone.Set(); }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Hinweis