2010-06-07 2 views
2

ОК. Итак, это точно противоположно тому, о чем каждый спрашивает в сетевом программировании. Обычно люди спрашивают, как сделать разбитую работу сокета. Я, с другой стороны, ищу другого.Как сделать существующий сокет неудачным?

У меня в настоящее время есть сокеты, работающие нормально, и хочу, чтобы они сломались, чтобы воссоздать эту проблему, которую мы видим. Я не уверен, как умышленно заставить сокет выступить из-за плохого чтения. Трюк заключается в следующем: сокет должен быть рабочим, установленным соединением, а затем он по какой-то причине не работает.

Я пишу это на C, а драйверы работают в системе Linux. Сокеты обрабатываются протоколом уровня 3, отличным от IP, в Linux драйвером устройств Linux. У меня есть полный доступ ко всей базе кода, мне просто нужно найти способ дразнить его, чтобы он мог потерпеть неудачу.

Любые идеи?

ответ

1

Можете ли вы изменить свое ядро? Вы можете ввести метод, чтобы вызвать ошибки на уровне сетевого стека.

+0

Hi Shaggy, да, я могу настроить ядро. Тем не менее, я не много сделал в ядре, поэтому считаю, что это может быть хорошей возможностью обучения для меня. Спасибо за предложение. – Huckphin

1

Один классический трюк - отключить сетевой кабель.

+0

Спасибо за мысль, но я забыл что-то сказать. Это одна часть аппаратного обеспечения, и у нее есть аппаратный модуль, вставленный в устройство. Вся маршрутизация проходит через аппаратное обеспечение, а не через кабель Ethernet, поэтому ничего не отключать. :-( Прошу прощения за то, что не упоминал об этом раньше. – Huckphin

Смежные вопросы