当前位置: 首页>>代码示例>>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;未经允许,请勿转载。