diff options
author | TinWoodman92 <chrhodgden@gmail.com> | 2023-05-31 21:17:06 -0500 |
---|---|---|
committer | TinWoodman92 <chrhodgden@gmail.com> | 2023-05-31 21:17:06 -0500 |
commit | d67f09fb2f5a1dd11ac445eccec5dfe3976a6ce9 (patch) | |
tree | 065f0bc2b0a6ace3b8dd6bf0da0ca831f43cd959 /source_file.r | |
parent | b9244a0e12333f441947cb1f31ad07efe9c897af (diff) |
clients now connect via sockets.
Diffstat (limited to 'source_file.r')
-rw-r--r-- | source_file.r | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/source_file.r b/source_file.r index b0bd8d9..ce7e85d 100644 --- a/source_file.r +++ b/source_file.r @@ -1,3 +1,15 @@ +HEADER <- 64 +PORT <- 6011 +SERVER <- "localhost" +FORMAT <- "utf-8" +DISCONNECT_MESSAGE <- "!DISSCONNECT" + +con <- socketConnection( + host = SERVER, + port = PORT, + server = FALSE +) + display_msg <- function(msg) { cat( '\033[94m', @@ -7,6 +19,29 @@ display_msg <- function(msg) { ) } -msg <- "hello world - R" +send_msg <- function(conn, msg) { + sendme <- paste(msg, strrep(" ", HEADER - nchar(msg)), sep = "") + writeChar(sendme, conn) +} + +recv_msg <- function(conn) { + suppressWarnings(msg <- trimws(readChar(conn, HEADER))) + while (length(msg) == 0) { + #cat('ALERT\n') + suppressWarnings(msg <- trimws(readChar(conn, HEADER))) + } + return(msg) +} +msg <- "Initializing Client - R" display_msg(msg) + +msg <- "Initialized Client - R" +send_msg(con, msg) + +while (msg != '!DISCONNECT') { + msg <- recv_msg(con) + display_msg(msg) +} + +close(con)
\ No newline at end of file |