我写了简单的客户端 - 服务器应用程序,并尝试测试它。如何模拟消息丢失或服务器不发送的网络情况?
我需要编写一些代码来处理正在丧失回复消息(由服务器发送)时,不到达客户端...
我需要知道如何来模拟这种情况。但是我不能。
我已经试过CTRL-C
服务器..但不知道这是否一个好方案.. 我从客户端得到:
send:
0 0 0 5 0 0 1 48 25 112 -55 106 0 0 0 34 60 -72 117 -101 37 28 116 -85 -91 61 55
-126 -50 9 5 64 -87 126 -31 -62 30 13 -90 -72 -124 118 20 88 -80 -9 -36 -33 -38
123
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at net.Net.readMessageObject(Net.java:36)
at net.Pitcher.run(Pitcher.java:59)
at net.Pitcher.main(Pitcher.java:122)
BTW,应用程序用Java编写的。
我需要更多解释 – 2011-05-22 20:52:14
从你的代码判断,你使用的是TCP,是吗?因为TCP包不能丢失。 TCP协议确保数据包不会出现错误,丢失或无序。如果你想确保你的应用程序不会中断连接完全丢失,Ctrl + C服务器实际上是一个合理的场景。 – orbital 2011-05-22 20:58:20
感谢您的信息,但是例如超时情况如何? – 2011-05-22 21:27:51