2012-04-09 11 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() 

が開いたままになっているすべての接続をシャットダウンすることについて

は、エラーメッセージを取得するとき。

関連する問題