2012-04-09 32 views
0

我開始一個套接字服務器,並使用下列R-代碼到服務器的連接:如何檢查套接字服務器是否打開?

library(svSocket) 
R server: socket <- startSocketServer(port=8888) 
R client: socketcon <- socketConnection(port=8888) 

我運行中的R客戶端while(TRUE)循環,並想阻止它,如果在R服務器套接字通過stopSocketServer(port = 8888)關閉

已嘗試isOpen,但沒有運氣,因爲即使當我停止R服務器時它返回TRUE。

回答

0

應該沒有必要手動關閉套接字客戶端。 svSocket程序包有一個closeSocketClients命令,該命令由stopSocketServer調用。奇怪的是,socketConnection被提及並鏈接到the documention on CRAN,但沒有人工輸入。然而,有一個叫做socketClientConnection的函數,它可能是你正在尋找的函數。這可能是軟件包看到了一些變化,這些變化在文檔中沒有正確描述。您可能需要發送電子郵件給維護人員。

1

我在使用snow進行並行工作時有時會遇到類似問題,並且連接沒有正確關閉。

,當你得到錯誤信息有關:

summary.connections(connection) : Invalid connection 

我用:

closeAllConnections() 

關閉保持打開的所有連接。

相關問題