Σύνδεση σε διακομιστή WebSocket από το Node
Το WEBSOCKETCLIENT(function(client) {}) σας δίνει έναν client. Καλέστε το client.connect(url) με διεύθυνση ws:// ή wss://, ακούστε με client.on('open' | 'message' | 'close' | 'error', fn) και στείλτε με client.send(object)· τα αντικείμενα ταξιδεύουν ως JSON. Χρησιμοποιήστε τα client.headers και client.cookies για να ταυτοποιηθείτε πριν συνδεθείτε και το client.close() για να αποσυνδεθείτε.
Το παράδειγμα συνδέεται σε ένα echo socket της δικής του εφαρμογής· σε πραγματικό κώδικα στρέψτε το σε οποιονδήποτε διακομιστή WebSocket.
exports.install = function() {
ROUTE('SOCKET /echo/', echo);
ROUTE('GET /relay/', relay);
};
function echo() {
this.on('message', function(client, message) {
client.send({ echo: message.text });
});
}
function relay($) {
WEBSOCKETCLIENT(function(client) {
client.connect($.hostname('/echo/').replace('http', 'ws'));
client.on('open', function() {
client.send({ text: 'ping' });
});
client.on('message', function(message) {
client.close();
$.json(message);
});
client.on('error', function(err) {
$.invalid(err + '');
});
});
}