R socketConnection - соединение не открыто для чтения

Я пытаюсь позвонить load() функция на socketConnection, Когда я устанавливаю соединение (между двумя процессами R), я проверяю информацию о сокете и вижу это:

> s <- socketConnection(host = "localhost", 12345, server = FALSE, blocking=TRUE, open = "rb")
> s
        description               class                mode                text
"->localhost:12345"          "sockconn"                "rb"            "binary"
             opened            can read           can write
           "opened"               "yes"               "yes"

Соединение было успешно открыто и доступно для чтения (и в двоичном режиме). Если я сейчас пытаюсь читать из сокета, я получаю это:

> load(s)
Error in load(s) : connection not open for reading

Мне потребовалось некоторое время, чтобы понять, почему я вижу сокет с надписью "могу прочитать = да", а в сообщении об ошибке говорится, что он не читается. Оказывается, соединение оборачивается объектом gzcon при выполнении load(), Если я заверну это сам, я увижу это:

> s
        description               class                mode                text
"->localhost:12345"          "sockconn"                "rb"            "binary"
             opened            can read           can write
           "opened"               "yes"               "yes"
> z <- gzcon(s)
> z
               description                      class
"gzcon(->localhost:12345)"                    "gzcon"
                      mode                       text
                      "rb"                   "binary"
                    opened                   can read
                  "opened"                       "no"
                 can write
                     "yes"
> s
               description                      class
"gzcon(->localhost:12345)"                    "gzcon"
                      mode                       text
                      "rb"                   "binary"
                    opened                   can read
                  "opened"                       "no"
                 can write
                     "yes"

Gzcon преобразует соединение в нечитаемое. Итак, мой вопрос: как я могу выполнить загрузку из сокета или как заставить gzcon поддерживать соединение читабельным?

0 ответов

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