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

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 参考网站中阅读有关异步套接字编程的更多信息。