2017-01-12 9 views
0

Я пытаюсь подключиться к сокету, которая обеспечивает подачу цен на акции (stockID, цена), а затем распечатайте ее. Поток бесконечен. Моя проблема в том, что я не могу ее распечатать.Печать datastream from socket

Для начала я создаю соединение:

con <- socketConnection(host = "88.99.38.191", port = 1337, open = "r")

затем я установить переменную для чтения всех строк. data <- readLines(con,-1)

Тогда print(data)

проблема заключается в том, что в зависимости от временного промежутка между выполнением подключения и настройки переменных данных, последний получает разное количество значений, и это все.

Я пытаюсь как-то печатать весь поток. Если я использую while (TRUE) { print(data) }

он просто печатает бесконечно data в цикле.

Любая идея, как реализовать это?

Моя конечная цель - рассчитать скользящую среднюю для каждого идентификатора.

+1

Возможно, это было бы лучше на сайте программирования, таком как R-help или StackOverflow. –

+0

Я голосую, чтобы закрыть этот вопрос как вне темы, потому что речь идет о том, как использовать R без воспроизводимого примера. – gung

+0

Привет, спасибо за ваши ответы. Я уже представил весь мой код/​​пример. –

ответ

0

Для желающих это ответ.

con <- socketConnection(host = "88.99.38.191", port = 1337, open ="r",blocking = T,server=FALSE) 

while(TRUE) { 
data <- readLines(con,1) 
print(data) 
} 

Проблемы с моим первым подходом был то, что я не использовал blocking = T свойство для socketConnection. Дополнительную информацию можно найти here.