http UDP सॉकेट को नोड.जेएस में आवेदन से एचटीटीपी में स्थानांतरित करें



sockets node.js (1)

यहाँ एक सॉकेट.आईओ सर्वर के साथ एक पूर्ण उदाहरण है, एक वेब सर्वर एक बहुत ही सरल पृष्ठ भेजता है (यह केवल कंसोल के लिए सभी संदेश लॉग करेगा) और एक यूडीपी सॉकेट संदेश के लिए सुन रहा है, उन सभी जुड़े क्लाइंटों को पास कर रहा है:

var http = require('http'),
    dgram = require('dgram'),
    socketio = require('socket.io');

var app = http.createServer(handleRequest),
    io = socketio.listen(app),
    socket = dgram.createSocket('udp4');

socket.on('message', function(content, rinfo) {
    console.log('got message', content, 'from', rinfo.address, rinfo.port);
    io.sockets.emit('udp message', content.toString());
});

function handleRequest(req, res) {
    res.writeHead(200, {'content-type': 'text/html'});
    res.end("<!doctype html> \
        <html><head> \
        <script src='/socket.io/socket.io.js'></script> \
        <script> \
            var socket = io.connect('localhost', {port: 8000}); \
            socket.on('udp message', function(message) { console.log(message) }); \
        </script></head></html>");
}

socket.bind(7788);
app.listen(8000);

अद्यतन: io.sockets.emit दिखाता है, यूडीपी पोर्ट 7788 पर प्राप्त सभी संदेश सभी जुड़े क्लाइंट को भेजे जाते हैं। यदि आप उन्हें संदेश में कुछ डेटा या इसी तरह के आधार पर रूट करना चाहते हैं, तो आप Socket.IO के "रूम" सुविधा का उपयोग कर सकते हैं: io.sockets.of(someRoom).emit Socket.IO के लिए कनेक्शन हेन्डलर में, आप प्रत्येक ग्राहक को कुछ कमरे में join कर सकते हैं।

क्या किसी सॉकेट को एक आवेदन से http पर नोडजेएस के माध्यम से स्थानांतरित करना संभव है?

मैं अपनी गर्तिका को यूडीपी या टीसीपी (अगर यूडीपी में असंभव ...) से नोडजेएस में एक आवेदन (सी ++) में भेजता हूं।

नोडजेएस से मेरी स्क्रिप्ट:

var server = dgram.createSocket("udp4"); 
server.on("message", function (content, rinfo) 
{ 
   console.log("socket: " + content + " from " + rinfo.address + ":" + rinfo.port); }); 
   server.on("listening", function () { 
}); 
server.bind(7788);

अब तक उस फ़ंक्शन को काम करता है, लेकिन फिर कैसे मेरी सॉकेट को Socket.io को उदाहरण के लिए स्थानांतरित करना है?

मैं गर्तिका को HTTP पर सॉकेट को स्थानांतरित करने के लिए Socket.io (उदाहरण के लिए) को भेजना चाहता हूं। उदाहरण के लिए इस तरह एक फ़ंक्शन का उपयोग करके, लेकिन socket.io से एक कनेक्शन की स्थापना के बिना नवीनीकृत किए बिना:

io.sockets.on('connection', function (socket) { 
    socket.emit(content);
});

आपकी मदद के लिए धन्यवाद

++ मेट्रा





socket.io