2010-11-18 117 views
4

我需要一种方法来模拟自动化测试套件中的连接问题,在Linux上,最好是从Python中。某种类型的代理服务器可以放在Web服务器的前面,可以在一次触发或另一次触发后挂起或断开连接(在传输X字节后等)将是完美的。Web代理来模拟网络问题

构建起来似乎不太难,但我宁愿抢一些预先存在的东西,如果任何人有任何好的建议。

回答

2

当我需要它时,我发现自己构建它是最好的事情。 首先在python http://docs.python.org/dev/library/socketserver.html(不必使用类本身)中引入一个线程服务器。 并且它非常简单:在新连接线程中使用 ,您将创建一个新套接字并将其连接到真实服务器。 然后,你把它们放在一个列表中,并将它发送到select.select(import select)。 然后,当套接字x接收数据 - 将其发送给y。当套接字y接收到数据时将它发送给x。 (当你收到空字符串时,不要忘记关闭套接字)。

现在你可以做任何你想要的..

如果你需要什么,我在这里..

+0

是的,我终于实现了这个出于不同的原因(实际上修改上,由于即时通信到一台性能相当差的服务器)大约一年前。整个事情可能是30条蟒蛇。附:嗨唐:P – 2010-11-20 19:18:22

+0

我会看看如果我今天晚些时候可以得到这个。 – DonGar 2010-11-24 20:55:42

+0

PS:嘿尼克,好久不见! – DonGar 2010-11-24 20:56:21