我需要使用.NET,C,C#制作Windows程序,这会增加通过网络上的计算机移动的数据的延迟。基本上,如果我有一个装满电脑的房间,我希望这个程序将计算机变成一个节点,延迟通过它移动的信息,好像该信息从一台计算机到另一台500英里外的计算机。这是为了测试实验室中的程序,就像在互联网上使用它们一样。该程序必须处理udp,tcp,ipv4,ipv6和pim多播连接。
我一直在挖掘.NET System.Net API,试图弄清楚哪些API工具会有所帮助,但我不确定从哪里开始。我是否需要制作客户端程序和服务器程序,并使用System.Net.Sockets用于tcp和udp连接以及ip端点用于ipv4和ipv6?
如果可能的话,我想制作一个在一台计算机上运行的程序,这会增加通过它运行的所有内容的延迟。这可能/可行吗?
我希望我能有更多的信息来提供更具体的答案,但我不知道从哪里开始。
答案 0 :(得分:0)
有许多产品已经做到了这一点:它们位于堆栈中,允许您调整线速度,延迟,数据包丢失,数据包重复等。