Der Kommunikationsprozess zwischen Hops und einem Hops-kompatiblen Server ist etwas komplizierter als das einfache Senden und Empfangen einer einzelnen http-Anfrage und -Antwort. Der erste Schritt des Prozesses besteht darin, dass Hops die referenzierte Grasshopper-Definition bündelt und eine http-Anfrage an einen Endpunkt des Servers sendet.
Ein Endpunkt ist eine URL-Adresse, unter der der Server erreicht werden kann, um eine bestimmte Funktion auszuführen. In dieser Anfrage öffnet der Server die von Hops gesendete Grasshopper-Definition und bestimmt, welche Informationen benötigt werden, um die Ein- und Ausgänge für die Hops-Komponente zu füllen. Der Endpunkt wird also /io (kurz für Input Output) genannt.
Die Komponente Hops sollte nun über genügend Informationen verfügen, um die erforderlichen Ein- und Ausgangsknoten für sich selbst zu erstellen.
Wenn alle Hops-Eingaben mit den Quellparametern verbunden wurden, wird eine weitere http-Anfrage an den Server gesendet - nur dieses Mal an den Endpunkt /solve. Die Grasshopper-Definition muss nicht erneut gesendet werden, da sie während des /io-Prozesses auf dem Server gespeichert wurde. Stattdessen enthalten die in der /solve-Anfrage gesendeten Daten nur eine Zeiger-ID, die dem Server mitteilt, wo er die richtige Datei und alle Eingabedaten finden kann.
Die http-Antwort des Servers enthält alle Daten, die beim Ausführen der Grasshopper-Datei auf herkömmliche Weise zurückgegeben werden würden.
Um besser zu verstehen, wie jeder der obigen Schritte funktioniert, können Sie die letzte http-Anfrage und -Antwort für die Endpunkte /io und /solve direkt aus der Komponente Hops exportieren.
