Ищите "симулятор зависших сокетов" для тестирования тайм-аутов сокетов - PullRequest
9 голосов
/ 23 июня 2011

Я проверяю обработку для условий тайм-аута сокета - например, тайм-аут соединения, соединение, но не принимаю, принимаю, но не читаю и т.д.

Я ищу программу / скрипт, который будет действовать как серверный сокет, производящий эти эффекты.

Этот "симулятор зависших сокетов" должен работать в Mac OS (или Linux).

Ответы [ 3 ]

5 голосов
/ 21 июля 2012

Я нашел один по имени Бэйн: https://github.com/danielwellman/bane.

3 голосов
/ 26 июня 2013

Я думаю, что мощный инструмент socat может быть полезен здесь, он может перенаправить запрос на реальную конечную точку и, таким образом, вы можете иметь полный контроль над самим процессом socat для имитации того, что вы хотите (например, приостановка)процесс на определенном этапе с помощью kill -stop или около того)

один из моих вариантов использования состоит в том, что я просто хочу, чтобы мое клиентское приложение завершило рукопожатие с удаленной службой, но не считал больше данных:

 socat -d -d -d TCP-LISTEN:22181,fork SYSTEM:'socat - "TCP:the-remote-host:2181" \| dd bs=1 count=50' &

вышеприведенный пример отправляет обратно только первые 50 байтов ответа.

1 голос
/ 23 июня 2011

Почему бы вам просто не запустить клиентскую программу на своем компьютере разработчика, а когда вы хотите, чтобы появилось TimeOut, просто отключите сетевой кабель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...