sunucusu yayar [email protected] ile komut dosyası ve [email protected]sails.js için node.js soket müşteri ile bir olay (0.11.x)
Büyük resim: Ben var ya olacak, sails.js sunucusuna bağlanmak node.js komut bir çiftlik ve çeşitli görevleri yerine getirecek.
Derhal Hedef:
socket.emit('got_job', job.id);
Neden: Ben gibi client-> sunucudan bir soket bağlantısı sırasında bir olayı yayarlar istiyor? Bu mümkün ise, sunucu tarafında bir denetleyicide (veya denetleyici + hizmet) çeşitli olay işleyicileri oluşturabilir ve bu komut grubunu desteklemek için istemci/sunucu uç noktaları arasında bir dizi durumlu işlemi yönetirken kodumu temiz tutarım.
dokümantasyon: Bu, bir yelkenler docs başına sails.js bunun için socket.io-istemcisi kullanarak ilgili anlatıldığı gibi: Ben bu bağlantı içinde ne dışında paylaşmaya pek koduna sahip https://github.com/balderdashy/sails.io.js?files=1#for-nodejs
, ama her ihtimale karşı buraya yapıştırın edeceğiz:
var socketIOClient = require('socket.io-client');
var sailsIOClient = require('sails.io.js');
// Instantiate the socket client (`io`)
// (for now, you must explicitly pass in the socket.io client when using this library from Node.js)
var io = sailsIOClient(socketIOClient);
// Set some options:
// (you have to specify the host and port of the Sails backend when using this library from Node.js)
io.sails.url = 'http://localhost:1337';
// ...
// Send a GET request to `http://localhost:1337/hello`:
io.socket.get('/hello', function serverResponded (body, JWR) {
// body === JWR.body
console.log('Sails responded with: ', body);
console.log('with headers: ', JWR.headers);
console.log('and with status code: ', JWR.statusCode);
// When you are finished with `io.socket`, or any other sockets you connect manually,
// you should make sure and disconnect them, e.g.:
io.socket.disconnect();
// (note that there is no callback argument to the `.disconnect` method)
});
ben içine baktım ne: Ben bu nesnelerin çeşitli düzeylerde içine delinmiş ettik ve kullandığım maruz şey bulmak gibi olamaz. Ve basitçe io.socket.emit() 'yi var olmadığı için denemek. Ama io.socket.get() ve io.socket.post(), vb iyi çalışıyor.
console.log(socketIOClient);
console.log(sailsIOClient);
console.log(io);
console.log(io.socket._raw);
console.log(io.sails);
Teşekkürler ve bunu açıklığa kavuşturmak için gerektiği gibi güncellemeyi deneyeceğim.
GÜNCELLEME:
Çeşitli Sunucu Bilgisi.: Ayrı portlar (3000-3003) üzerine
- I (yakında daha ) 4'e işaret SSL sonlandırma ile, 443 numaralı bağlantı noktasında nginx kullanıyorum sails.js örnekleri.
- Ayrıca oturumlar ve soketler için Redis kullanıyorum.
Henüz bir çözüm bulamadım. Başka birinin buna katılıp katılmadığını bilmek güzel olurdu. – nodnarB
Neden io.socket.disconnect(); 'kullanıyorsunuz? – Bulkin
Ben de bununla uğraşıyorum ve bir çözüm bulmaya çalışıyorum. Ben sunucuya bir json mesaj ile yaymak ve olayı istiyorum. nodnarB bir geçici çözüm bulabildiniz mi? – zabumba