C# C TCP服务器不可靠,丢弃过时的缓冲消息
我的目标是构建一个c'èTCP服务器,该服务器必须传输本应通过UDP传输的数据,不幸的是,这不是我的选择 服务器必须传输恒定的实时数据流,例如:一系列数字 01 2 3 4 5等。。。客户端必须只显示最后一个。 如果一切顺利,客户端将收到每个号码,但如果由于某种原因数据包丢失,我希望检测到它,不再发送它,而是发送最新的号码 所以问题是:是否有可能在C中检测TCP数据包丢失并在不刷新的情况下清除缓冲区 谢谢你的时间!法比奥奥蒂 更新 丢弃除丢失的数据包之外的所有新数据包也可以 更新 同时检测ack数据包就足够了。No.1 在应用程序级别,数据包永远不会丢失。它将在TCP/传输级别不断重试,这样应用程序只能看到完整和准确的流,因此TCP是一个可靠的协议 如果丢弃的数据包太多,流最终将超时,但这大约是检测失败连接的范围。心跳和吞吐量监控可用于检测慢速/故障或高延迟连接,但只能从高级别进行检测 1有些工具(如)可以在较低的抽象级别上使用TCP流,但这通常不适合或不适用于应用程序代码,并且不在[.NET]TCP/Stream API中公开。C# C TCP服务器不可靠,丢弃过时的缓冲消息,c#,sockets,tcp,buffer,C#,Sockets,Tcp,Buffer,我的目标是构建一个c'èTCP服务器,该服务器必须传输本应通过UDP传输的数据,不幸的是,这不是我的选择 服务器必须传输恒定的实时数据流,例如:一系列数字 01 2 3 4 5等。。。客户端必须只显示最后一个。 如果一切顺利,客户端将收到每个号码,但如果由于某种原因数据包丢失,我希望检测到它,不再发送它,而是发送最新的号码 所以问题是:是否有可能在C中检测TCP数据包丢失并在不刷新的情况下清除缓冲区 谢谢你的时间!法比奥奥蒂 更新 丢弃除丢失的数据包之外的所有新数据包也可以 更新 同时检测ack
1有些工具(如)可以在较低的抽象级别上使用TCP流,但这通常不适合或不适用于应用程序代码,并且在[.NET]TCP/Stream API中没有公开。谢谢,然后我必须自己编写一个本机库。我会尽快将你的答案标记为已接受。如果没有人发布类似interop或任何其他黑客内容的帖子,那么我将不得不自己编写一个本地库。如果没有人发布类似interop或任何其他黑客的东西,我会尽快将您的答案标记为已接受