本文整理汇总了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();
}
示例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();
}