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