Другой подход заключается в том, чтобы макетировать оба конца с помощью фиктивного сервера и фиктивного клиента, которые просто отправляют сообщения, которые вы хотите протестировать, и проверяете, что ответы соответствуют ожидаемым. Эти фиктивные серверы могут быть очень, очень тупыми: им нужно только читать / записывать сокеты и возвращать предварительно установленные данные обратно. Вы можете немного увеличить их, шаблонизируя ответы от данных в запросах, если их легко анализировать.
Выигрыш в том, что вы точно знаете, что будет делать макет (включая фальшивые тайм-ауты, отправку мусора, все, что вы хотите).
Вероятно, было бы очень легко использовать библиотеку сокетов Perl или Python для создания ваших фиктивных серверов и клиентов; если вы используете Perl, вы сможете использовать очень эффективные классы Test :: из CPAN, чтобы помочь выполнить фактическую работу и отчетность.