C++ C++;如何从TCP套接字(windows)检索ACK
我在获取TCP连接确认信息时遇到一些问题 我已经使用Windows套接字实现了一个基本的TCP套接字服务器(Socket()、listen()、bind()、accept()、send())。通信工作正常,但现在我想检索并观察TCP数据包的传入确认 有人知道我如何通过编程获得这些信息吗 如果您的应用程序需要知道何时收到数据,或者即使在失败的情况下,收到了多少数据,您需要应用程序级别的确认 TCP ACK不属于应用层,它纯粹是第4层簿记信息。如果第7层需要ACK,则需要在第7层添加一个ACKC++ C++;如何从TCP套接字(windows)检索ACK,c++,windows,sockets,tcp,C++,Windows,Sockets,Tcp,我在获取TCP连接确认信息时遇到一些问题 我已经使用Windows套接字实现了一个基本的TCP套接字服务器(Socket()、listen()、bind()、accept()、send())。通信工作正常,但现在我想检索并观察TCP数据包的传入确认 有人知道我如何通过编程获得这些信息吗 如果您的应用程序需要知道何时收到数据,或者即使在失败的情况下,收到了多少数据,您需要应用程序级别的确认 TCP ACK不属于应用层,它纯粹是第4层簿记信息。如果第7层需要ACK,则需要在第7层添加一个ACK 与此
与此相关,keep alives也是如此:您可以使用它来观察传入/传出的数据包。这些数据包由您使用的网络层为您处理。正如@ymonad所说,你可以用wireshark捕捉并查看它们。但我不相信windows套接字允许您访问它们。除非您使用原始套接字,否则您不能。你为什么认为你需要这个?一般来说,TCP中的确认只有在没有后续故障的情况下才能检测到。感谢您的支持。我已经知道如何通过原始套接字嗅探连接。我也考虑过Wireshark,但不幸的是,我需要分析在Windows下通过WLAN和蓝牙进行的通信,并且不支持蓝牙。谢谢Ben!为了进行分析,我在第7层发送了一个ACK,因为我找不到一个在windows下同时适用于蓝牙和WLAN套接字的解决方案。