Я пытаюсь использовать socat для ответа на каждое подключение к сокету, который он прослушивает, с поддельным HTTP-ответом. Я не могу заставить его работать. Может быть, потому, что я использую cygwin версию socat? Я не знаю.
Частично проблема заключается в том, что я не хочу, чтобы второй аргумент <some_file_response>
не записывался. Другими словами, поскольку он двунаправлен, он будет читать то, что в response.txt, а затем записывать в тот же файл, и я не хочу этого. Даже если я делаю open:response.txt,rdonly
, он не работает многократно. system:
, похоже, ничего не делает. exec
кажется, что он работает, например, я могу сделать exec:'cat response.txt'
, но никогда не отправляется клиенту, подключающемуся к порту 1234.
socat -vv tcp-listen:1234,reuseaddr,fork <some_file_response>
Я хочу, чтобы он читал файл клиенту, который подключался, а затем закрывал соединение, и делал это снова и снова (почему я использовал fork).
Я ставил щедрость на этот вопрос. Пожалуйста, дайте мне решения, которые работают с версией cygwin из командной строки Windows.