ForgeTotal.js 5
el

Total.js 5

Σύνδεση σε διακομιστή WebSocket από το Node

Total.js 5 · total5@0.0.19 websocketrealtimeintegrations Εκτελέστηκε με το Total.js 5

Το 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.

controllers/echo.js
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 + '');
		});
	});
}