4 votes

transfert de valeurs à partir d'un nrepl distant

J'ai un nrepl distant que j'ai démarré via Screen, auquel je me connecte en utilisant lein repl :connect. Puis-je faire transférer une valeur vers un repl local ? La raison de ma question est la suivante :

  1. L'utilisation de Screen signifie que j'obtiens des exceptions headless lorsque je veux effectuer des opérations graphiques et que j'ai besoin de l'aide d'autres personnes.
  2. Parfois, j'aimerais obtenir une copie locale d'une valeur distante pour jouer avec.

1voto

Dirk Geurs Points 591

Pour autant que je sache, il n'existe pas de protocole de transport permettant d'envoyer des valeurs Clojure réelles par câble. Ce que vous pouvez faire, c'est lancer un serveur nREPL local, vous connecter à l'instance distante et lire/évaluer les valeurs de réponse localement. Cela devrait être assez simple si vous essayez simplement de copier des données de base d'un côté à l'autre. Consultez la documentation nREPL sur la manière de se connecter à un serveur de façon programmatique .

La copie directe de choses comme l'état d'un objet java n'est pas vraiment possible. Vous pouvez contourner ce problème en créant un nouvel objet basé sur les données d'entrée que vous avez obtenues à distance, en supposant que vous ayez une copie locale du code source. Il en va de même pour le rendu des graphiques : récupérez l'état sous forme de données à distance et utilisez-le localement pour déclencher le rendu.

J'espère que cela vous aidera !

0voto

Norman Richards Points 1466

Je suppose que votre processus distant a un port nrepl ouvert auquel vous vous connectez. Si c'est le cas, la meilleure façon de se connecter à ce port nrepl depuis votre machine locale est probablement un tunnel ssh.

ssh -L :localhost : remote-host

Vous pourrez alors faire en sorte qu'un nrepl se connecte à ce port sur localhost et fasse tout ce que vous voulez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X