Node.js: Verbindung zu einem Server über Sockets herstellen

Ich fange gerade erst an, mit Node.js zu spielen, und dachte, ich fange mit einem einfachen Skript an: Eine Verbindung zu einem Server über Sockets herstellen, ein bisschen Daten senden und es zurückerhalten. Ich erstelle ein Befehlszeilenprogramm. Nichts im Browser.

Ein Beispiel für einen Server wäre memcached, beanstalked usw. Es scheint, dass das Netzmodul das richtige Werkzeug für den Job ist, aber ich bin immer noch ein bisschen unsicher, wie Node.js Dinge macht. Einige Hilfe wäre dankbar.

Update # 1

Lassen Sie mich sehen, ob ich dies in ein paar kleinere Fragen aufteilen kann. Ich hasse es, solche Fragen zu stellen, aber die Dokumentation zu Node.js ist sehr spärlich und die meisten Dokumentationen, die vor 6 Monaten geschrieben wurden, sind bereits veraltet.

1) Ich kann also net.stream.write () verwenden, um Daten an den Remote-Server zu senden, aber ich weiß nicht, wie ich eine Antwort zurückerhalten kann. Ich bin mir nicht mal sicher, wie ich testen soll, wenn write () fertig ist, da es keinen Rückruf erfordert.

2) Ein paar Hinweise, wie die ganze event.emit-Sache funktioniert, wären toll. Ich denke, das ist wirklich der Schlüsselstein, den ich in dieser ganzen Sache vermisse.

Update # 2

Hier bin ich immer noch verwirrt, wenn ich ein Client-Programm implementiere. Lassen Sie mich eine typische Sendeanforderung darstellen => Antwortsystem abrufen:

1) Ich binde Rückrufe an das Netzmodul, um Antworten und andere Ereignisse zu erhalten, einschließlich der erforderlichen Bindungen, um eine Antwort vom Server zu erhalten.

2) Ich benutze stream.write (), um eine Anfrage an den Server zu senden.

3) Ich tue dann nichts, weil mein gebundenes "Daten" -Ereignis die Antwort vom Server erhält.

Hier wird es schwierig. Angenommen, ich rufe stream.write () @ auzweima bevor mein gebundenes "Daten" -Ereignis aufgerufen wird. Jetzt habe ich ein Problem. Wenn das "Daten" -Ereignis eintritt, woher weiß ich, auf welche der beiden Anforderungen es eine Antwort gibt? Kann ich garantieren, dass die Antworten in derselben Reihenfolge wie die Anfragen erfolgen? Was ist, wenn die Antworten in einer anderen Reihenfolge zurückkommen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage