當前位置: 首頁>>代碼示例>>C#>>正文


C# Socket.BeginSendFile方法代碼示例

本文整理匯總了C#中System.Net.Sockets.Socket.BeginSendFile方法的典型用法代碼示例。如果您正苦於以下問題:C# Socket.BeginSendFile方法的具體用法?C# Socket.BeginSendFile怎麽用?C# Socket.BeginSendFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Net.Sockets.Socket的用法示例。


在下文中一共展示了Socket.BeginSendFile方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: AsynchronousFileSend

public static void AsynchronousFileSend()
{
    // Send a file to a remote device.
    
    // 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();

    // There is a text file test.txt in the root directory.
    string fileName = "C:\\test.txt";
  
    // Send file fileName to the remote device.
    Console.WriteLine(fileName);
    client.BeginSendFile(fileName, new AsyncCallback(FileSendCallback), client);

    // Release the socket.
    client.Shutdown(SocketShutdown.Both);
    client.Close();
}

private static void FileSendCallback(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();
}
開發者ID:.NET開發者,項目名稱:System.Net.Sockets,代碼行數:41,代碼來源:Socket.BeginSendFile

示例2: AsynchronousFileSendWithBuffers

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();
    }
開發者ID:.NET開發者,項目名稱:System.Net.Sockets,代碼行數:50,代碼來源:Socket.BeginSendFile


注:本文中的System.Net.Sockets.Socket.BeginSendFile方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。