میشه گفت node.js مجموعه نرم افزاری هست که کد های جاوا اسکریپت رو خارج از محیط مرورگر اجرا میکنه و معمولا برای نوشتن سمت سرور اپلیکیشن ها و نرم افزار های مختلف استفاده میشه ( کارهایی مثل اتصال به دیتابیس , لاگین و ... )
در ساخت node.js دو تا ویژگی کلیدی رعایت شده :
-
فارغ از تعداد درخواست هایی که به node.js ارسال میشه همه اون ها در یک thread اجرا میشن . که این چیزیه که کاملا بر عکس وب سرور هایی مثل apache هست که مزیتش هم اینه که سرور میتونه به درخواست های همزمان خیلی بیشتری جواب بده و سربار ساخت thread هم وجود نداره
-
تمام عملیات های ورودی و خروجی (مثل اتصال به دینتابیس یا خواندن و نوشتن از فایل) موازی با thread اصلی اجرا میشه که این یعنی عملیات هایی که آهسته تر از cpu هستن باعث کند شدن برنامه نمیشن
یکی از مزیت های node.js تعداد بسیار زیاد برنامه نویس و کتابخانه های مختلفی هست که براش ساخته شده .
برای اتصال ++C به node.js مثل همه زبان های دیگه راهکاری که وجود داره استفاده از سوکت و کتابخانه های مختلف شبکه در ++C مثل boost یا کیوت هستش . و روش اون بسته به این که اتصال شما از نوع TCP یا UDP باشه یا از پروتکل های لایه های بالاتر مثل http استفاده کنین متفاوت میشه