Android Play

دانلود بهترین برنامه های اندروید

Android Play

دانلود بهترین برنامه های اندروید

سلام خیلی خوش امدید
در این سایت برنامه های اندروید قرار داده میشه که برخی از انها توسط ما ساخته شده
مانند برنامه حفظ لغت اندروید و ... که در صفحه اصلی سایت میتوانید به لیست برنامه های ما دسترسی داشته باشید
همچنین میتوانید برنامه های خود را سفارش دهید

آخرین نظرات

ارسال پیام از سرور به تمام کلاینت ها در node.js

دوشنبه, ۳۱ خرداد ۱۳۹۵، ۱۱:۲۶ ب.ظ

node.js

send text server to all clients

می خواهیم برنامه ای بنویسیم که به وسیله تایمر هر 8 ثانیه پیامی شامل تعداد کلاینت های انلاین و همین طور تعداد دفعات ارسال پیام را به همه ی کلاینت ها ارسال کند

هدف از ساخت این برنامه یادگرفتن چگونگی ارسال پیام از سرور به کلاینت ها است

 

برای ساخت ارتباط socket در node از کتابخونه net استفاده میکنیم.

 

کد کامل سرور ( server.js )

 

// Load the TCP Library
net = require('net');
var HOST = '127.0.0.1';
// Keep track of the chat clients
var clients = [];
var man=0;
var cl=0;
// Start a TCP Server
net.createServer(function (socket) {
    socket.name = socket.remoteAddress + ":" + socket.remotePort
    clients.push(socket);
    cl++;
    console.log("Run:"+man+" \n");
    
}).listen(5000,HOST);
function broadcast(message, sender) {
    clients.forEach(function (client) {
        // Don't want to send it to sender
        if (client === sender) return;
        client.write(message);
    })
};

// Put a friendly message on the terminal of the server.
console.log("Chat server running at port 5000\n");
setInterval(function() 
{ 
    broadcast("Runed:"+man.toString()+" Tedad Client Online:"+cl.toString());
    man++;
}, 8000);

این دو متغیر : 

var man=0;
var cl=0;

 متغیر man تعداد دفعات ارسال پیام را نگهداری میکند و cl تعداد کلاینت های انلاین را

 

در این قسمت 

 

net.createServer(function (socket) {
    socket.name = socket.remoteAddress + ":" + socket.remotePort
    clients.push(socket);
    cl++;
    console.log("Run:"+man+" \n");
    
}).listen(5000,HOST);

یک سرور ایجاد می کنیم  هر بار که یک کلاینت جدید به سرور متصل شود کد داخل ان اجرا میشود مثلا در قطعه کد بالا بعد از اتصال هر کلاینت به سرور

cl++;

اجرا میشه و به تعداد کلاینت های انلاین یکی اضافه میکنه

 

 

setInterval(function() 
{ 
    broadcast("Runed:"+man.toString()+" Tedad Client Online:"+cl.toString());
    man++;
}, 8000);

این کد همون تایمر ماست که هر 8 ثانیه به همه کلاینت ها پیام ارسال میکنه

کد کامل کلاینت ( client.js )

 

 

var net = require('net');

var HOST = '127.0.0.1';
var PORT = 5000;

var client = new net.Socket();
client.connect(PORT, HOST, function() {

    console.log('CONNECTED TO: ' + HOST + ':' + PORT);
   
});
client.on('data', function(data) {
    console.log('DATA: ' + data);
});


client.on('close', function() {
    console.log('Connection closed');
});

 

موافقین ۰ مخالفین ۰ ۹۵/۰۳/۳۱
سید بنیامین خلیفه

نظرات  (۱)

سلام 
میشه در مورد نحوه ارتباط بین 2 کلاینت در node js توضیح بدید
باتشکر
پاسخ:
سلام به شما.
دقیقا متوجه سوالتون نشدم دوست عزیز منظورتون ارتباط دو کلاینت باهم توسط node.js هست؟

این پست رو بخونید : ارسال پیام بین کلاینت و سرور ( چت ساده )

می توانید از کلاینت a یک پیام به سرور ارسال کنید و تابع خودتون رو توی سرور به این صورت بنویسید که پیام دریافت شده رو به همه ی کلاینت ها و یا یک کلاینت خاص ارسال کنه به این صورت کلاینت ها میتونن باهم ارتباط برقرار کنند امیدوارم که بعدا وقت کنم و بتونم توضیح کاملی همراه با کد بنویسم

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی