是否可以获取通过异步连接发送的数据?

时间:2019-04-29 21:25:24

标签: c# sockets tcpclient

我有一个客户端,该客户端通过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());
            }
        }

1 个答案:

答案 0 :(得分:0)

它已发送回叫,但在尝试回叫之前,请先尝试填充缓冲区。它是包含缓冲区大小和套接字处理程序的StateObject等。 因此,您的答案肯定是。 您应该在MSDN参考网站上阅读有关异步套接字编程的更多信息。