newbie: closing unused connection + readline
On Sat, May 16, 2009 at 6:12 PM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
Try explicitly closing it: close(reader.socket) or closeAllConnections()
Thank you Sir but is there a way that it does not get open each time? I mean following line creates a new text connection each time so how to avoid it or reuse an open connection? line.raw <- textConnection(readLines( reader.socket, n = 1, ok = TRUE)); I tried something line this also: mydataframe <- read.table (socket, sep=","); but does not work says no input lines. this also. mydataframe <- read.table (readLine(socket), sep=","); what is the best method of doing something like this? I am getting totally lost between textConnection, socket and getConnection. Now I am trying to get the connection that was opened and reuse it but then how do I get connection that was previously opened when running code - since getConnection() requires a number and for that I need to know the number of my previously opened connection. So how do I get the number of textConnection that I open? Sir any pointers would greatly help. Thanks and regards -Aval
On Sat, May 16, 2009 at 8:34 AM, Aval Sarri <aval.sarri at gmail.com> wrote:
Hello;
I am new to R and trying to read a line from socket connection at a
time but at the end of script I am getting "closing unused connection"
warning. I am not able to understand how to solve this. I want to read
a line from socket and then use read.table/scan on that line but it
looks like I am opening multiple connections instead of just one. ?I
think I am doing something wrong or not able to understand correct
method of doing this.
---------------------------code------------------------
# Create a socket from which to read lines - one at a time (record)
reader.socket <- ? socketConnection( host = 'localhost', 5000,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? server = TRUE, blocking = TRUE,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? open = "r", encoding =
getOption("encoding") );
# now read each record and split/validate it using read.table
repeat {
?# here for each line I am opening new connection! how to avoid it?
?line.raw <- textConnection(readLines( reader.socket, n = 1, ok = TRUE));
?line.raw <- read.table(line.raw, sep=",");
?if ( length(line.raw) < ?1)
? ?break;
?print (showConnections());
?print(warnings());
}
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.