Тестирование настоящего 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
чтобы отправить этот текст обратно в вашу программу.