में क्लाइंट से प्रकाशित करें मैं प्रकाशित करने और सदस्यता लेने के लिए नोडजेज़ में एक छोटा ऐप बनाने की कोशिश कर रहा हूं। मैं क्लाइंट साइड से कैसे प्रकाशित कर सकता हूं में फंस गया हूं। मेरे पास कोड है।नोडज पब/उप
यहाँ यहाँ अपने सर्वर कोड (server.js)
var express = require('express'),
app = express(),
http = require('http'),
server = http.createServer(app);
app.use(express.bodyParser());
app.get('/', function(req, res) {
res.sendfile(__dirname + '/public/index.html');
});
app.post('/publish/:channel/:event/', function(req, res) {
console.log("**************************************");
var params = req.params;
console.log(req.params);
console.log(req.body);
var data = req.body;
console.log("**************************************");
var result = io.sockets.emit(params.channel,{event:params.event,data:data});
//console.log(result);
console.log("**************************************");
res.sendfile(__dirname + '/public/index.html');
});
//include static files
app.use(express.static(__dirname + '/public'));
server = server.listen(3000);
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (s) {
socket = s
socket.emit('c1', { hello: 'world' });
socket.on('test', function (data) {
socket.emit('c1', { hello: 'world' });
console.log('test');console.log(data);
});
});
है और
var narad = {};
narad.url = 'http://192.168.0.46:3000';
narad.lisentingChannels = {}
var socket = io.connect(narad.url);
function Channel(channelName) {
this.channelName = channelName; //serviceObject is the object of
this.events = {};
};
Channel.prototype.bind = function (event, callback) {
this.events[event] = callback;
};
narad.subscribe = function (channelName) {
var channel = new Channel(channelName)
this.lisentingChannels[channelName] = channel;
socket.on(channelName, this.callbackBuilder(channel))
return this.lisentingChannels[channelName];
}
narad.callbackBuilder = function (channel) {
return function (data) {
var callback = channel.events[data["event"]];
callback(data.data);
}
}
कृपया अपने कोड पर विशेष रूप से अपने क्लाइंट साइड सॉकेट कॉलबैक फ़ंक्शंस पर कुछ स्पष्टीकरण और/या टिप्पणियां जोड़कर आपकी सहायता करने में हमारी सहायता करें। आप कहां और किस तरह से अपने क्लाइंट को डेटा प्रकाशित करना चाहते हैं? – matthias
ऐसा लगता है कि आप क्लाइंट को ईवेंट प्रकाशित करने की अनुमति देने के लिए 'POST' मार्ग का उपयोग करने का प्रयास कर रहे हैं; क्या वो सही है? – floatingLomas