Я написал класс в Ruby
, который действует как клиент HTTP. Код минимален, но причина, по которой я не использую 'net/http'
, заключается в том, что этот метод позволяет мне лучше контролировать запросы и документация по HTTP вообще не помогает.
В любом случае, проблема в том, что сокет будет работать только для одного запроса и ответа. Отправка второго или последующего запроса дает мне пустой ответ.
Например:
- Открыть соединение с Google
- GET "/"
- Ответ - это google.ca html
- GET "/"
- Ответ пуст
Я пытался закрыть и открыть соединение между запросами, но это только замедлило его и не устранило проблему. Я все еще получил пустые ответы.
Так в чем здесь проблема?
Есть ли способ, позволяющий мне проверить, есть ли у объекта TCPSocket
открытое соединение, чтобы я случайно не открывал новое?