是否可以获取通过异步连接发送的数据?
Is it possible to get data that was sent over async connection?
我有一个通过 tcp 接收数据并将其发送到另一台服务器的客户端。我试图确保在发生任何断开连接时我不会丢失任何消息。
在 SendCallback
我检查服务器是否仍然连接。如果服务器断开连接,我想将消息保存到列表中以便稍后重试。
有没有办法获取发送失败的string/byte数组?
private static void SendCallback(IAsyncResult ar)
{
try
{
Socket receiver = (Socket)ar.AsyncState;
int bytesSent = receiver.EndSend(ar);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
它正在发送回调,但在您尝试回调此回调之前,您尝试填充您的缓冲区。它是包含缓冲区大小和套接字处理程序等的 StateObject。
所以你的答案肯定是肯定的。
您应该在 MSDN 参考网站中阅读有关异步套接字编程的更多信息。
我有一个通过 tcp 接收数据并将其发送到另一台服务器的客户端。我试图确保在发生任何断开连接时我不会丢失任何消息。
在 SendCallback
我检查服务器是否仍然连接。如果服务器断开连接,我想将消息保存到列表中以便稍后重试。
有没有办法获取发送失败的string/byte数组?
private static void SendCallback(IAsyncResult ar)
{
try
{
Socket receiver = (Socket)ar.AsyncState;
int bytesSent = receiver.EndSend(ar);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
它正在发送回调,但在您尝试回调此回调之前,您尝试填充您的缓冲区。它是包含缓冲区大小和套接字处理程序等的 StateObject。 所以你的答案肯定是肯定的。 您应该在 MSDN 参考网站中阅读有关异步套接字编程的更多信息。