Тестирование настоящего TCP Socket в Ruby

У меня есть программа, которая работает на сокете через Rack Hijack. Я хотел бы протестировать эту программу, используя настоящий сокет TCP, и я хочу получить то, что она отправляет в сокет, и проверить, что я получаю правильные результаты.

Как мне это сделать? Я пытался использовать Socketpair:

@sender, @receiver = Socket.pair(:INET, :STREAM, 1024 * 256)`

а потом

hijack_proc = h.fetch('rack.hijack')
hijack_proc.call(@sender)

но все, что я получаю, это Protocol not supported - socketpair(2)

1 ответ

Вы ищете Netcat? Вы должны быть в состоянии использовать что-то вроде netcat -l 4444 в окне терминала, и дать 4444 в качестве порта для вашей программы для подключения. Как только ваша программа отправляет что-то в Netcat, и вы видите это в своем терминале, вы можете ввести свой "ответ" и нажать Enter чтобы отправить этот текст обратно в вашу программу.

Другие вопросы по тегам