javascript - ماهو - node معنى



باستخدام node.js للاستماع إلى داتاغرامز أودب (2)

جرب استخدام SO_REUSEADDR في برنامج C وفي استخدام عقدة التطبيق:

socket = dgram.createSocket({ type: 'udp4', reuseAddr: true });

بدلا من:

socket = dgram.createSocket('udp4');

أنا أعمل على مشروع حيث يرسل التطبيق C داتاغرام أودب من المنفذ 44044 وأود أن استخدام node.js v0.10.20 لمجرد صدى هذه الحزم إلى وحدة التحكم.

يمكنني استخدام الأمثلة الكلاسيكية للاتصال:

var dgram = require('dgram');
var port = 44044;

socket = dgram.createSocket('udp4');

socket.on('message', function (msg, info){
    console.log(msg.toString());
 });

socket.on('listening', function(){
    var address = socket.address();
    console.log("listening on :" = address.address + ":" + address.port);
});

socket.bind(port);

ومع ذلك، عند تشغيل المثال، يشكو تطبيق C بلدي المنفذ 44044 الذي يستخدم للبث هو بالفعل قيد الاستخدام. على العكس من ذلك، إذا قمت بتشغيل تطبيق C أولا، التطبيق node.js يعود مباشرة مع خطأ "خطأ: ربط إادرينوس".

الآن أفهم أن هذا يعني أن لدي ملقمين يحاولان العمل على المنفذ نفسه. ولكن ما لا أحصل عليه هو كيف يمكنني الحصول على مؤشر ترابط عقدة التي سوف تستمع إلى البث أودب على المنفذ 44044؟ قراءة الوثائق node.js لم يساعدني في حل هذه المسألة.


C التطبيق يرسل من ميناء 44044. ما المنفذ الذي يرسل إلى ؟ هذا هو المنفذ الخاص بك يحتاج البرنامج node.js للاستماع على.





udp