**HMN-win32: حزمة Windows Net API **
يساعد
ddffsd Parts of this document were translated by machine (Gpt3.5)
Backwards compatible to node6.14.2 but the precompiled version is only supported to node8 and above (because node6 has no asynchronous syntactic sugar), for node6 please compile to node6.14.2 with esbuld yourself
HMN هو فرع فرعي لـ HMC-WIN32، وعلى عكس HMC، يتعامل HMN فقط مع واجهات برمجة التطبيقات (APIs) ذات الصلة بالشبكة.
مساعدة البرمجة (الصينية) المساعدة (الإنجليزية) CPP (المصدر)
تثبيت
كيفية الاتصال
let HMN = require ( "hmn-win32" ) ;
console . log ( "net:getConnectNetList=>" , hmn . getConnectNetList ( ) [ 0 ] )
في TypeScript باستخدام
import HMC = require ( "hmn-win32" ) ;
نظرة عامة على الميزات
الطبقة الوسطى API
- تحويل المرجع
- bool تحويل المحتوى المنطقي إلى نوع منطقي آمن Boolean
- تقوم السلسلة بتحويل محتوى النص/النص الزائف إلى نص آمن
- يقوم int بتحويل المحتوى الرقمي/الرقمي الزائف إلى أرقام int آمنة
- كائنات HKEY HKEY في كافة السجلات
- حظر النوم غير المتزامن
- الطريقة الأصلية للاتصال مباشرة بـ HMN.node (غير مستحسن)
واجهة برمجة التطبيقات
- يحصل IPv4 على IP (v4) للشبكة المحلية
- ip يحصل على عنوان IP للشبكة المحلية (المحول، v4، v6)
- **adapterIP **احصل على عنوان IP للشبكة المحلية (المحول، الإصدار 4، الإصدار 6)
- يحصل محول IPAsync على عنوان IP للشبكة المحلية (المحول، الإصدار 4، الإصدار 6) [غير متزامن]
- يحصل public_ip على عنوان IP للشبكة العامة المحلية [غير متزامن]
- يحصل getNetParams على معلومات الشبكة المضيفة
- يحصل getNetParamsAsync على معلومات الشبكة المضيفة
- يحصل freePort على منفذ TCP مجاني (خدمة) [غير متزامن]
- يحصل freePortTCP على منفذ TCP مجاني [غير متزامن]
- يحصل freePortUDP على منفذ UDP مجاني [غير متزامن]
- يحدد hasPortUDP ما إذا كان منفذ udp هذا مجانيًا [غير متزامن]
- يحدد hasPortTCP ما إذا كان منفذ TCP هذا خاملاً [غير متزامن]
- getSystemProxyServer يحصل على رابط وكيل النظام (فقط عند تمكين وكيل النظام)
- getSystemProxyPac يحصل على رابط البرنامج النصي لوكيل النظام
- يقوم getDomainIPaddress بتحليل عنوان IP لمضيف اسم المجال من نظام أسماء النطاقات الافتراضي (الشبكات)
- يقوم getDomainIPaddressAsync بحل عنوان IP لمضيف اسم المجال من نظام أسماء النطاقات الافتراضي (الشبكة) [غير متزامن]
- يحصل getHostsPath على مسار ملف المضيفين
- يحصل getTCPv6PortProcessID على العملية التي يشغلها هذا المنفذ
- getUDPv6PortProcessID يحصل على العملية التي يشغلها هذا المنفذ
- getUDPv4PortProcessID يحصل على العملية التي يشغلها هذا المنفذ
- يحصل getTCPv4PortProcessID على العملية التي يشغلها هذا المنفذ
- يحصل getTCPv6PortProcessIDAsync على العملية التي يشغلها هذا المنفذ [غير متزامن]
- يحصل getUDPv6PortProcessIDAsync على العملية التي يشغلها هذا المنفذ [غير متزامن]
- يحصل getUDPv4PortProcessIDAsync على العملية التي يشغلها هذا المنفذ [غير متزامن]
- يحصل getTCPv4PortProcessIDAsync على العملية التي يشغلها هذا المنفذ [غير متزامن]
- يقوم getConnectNetList بتعداد معلومات منفذ TCP وUDP الخاصة بالمنافذ ipv4 وipv6 في هذا الكمبيوتر
- يقوم getConnectNetListAsync بتعداد معلومات منفذ TCP وUDP للمنافذ ipv4 وipv6 في هذا الكمبيوتر [غير متزامن]
- تُنهي عملية killProcess عملية تحديد الهوية (حقوق منخفضة، إذا كنت تريد القتل بحقوق عالية، فيرجى استخدام hmc-win32)
- حظر مزامنة النوم (العملية)
- حظر النوم غير المتزامن (عملية)
- يكتشف PortWatchdog تغييرات المنفذ ويبدأ رد اتصال إذا كان مغلقًا أو ممكّنًا.
- يحصل getProcessidFilePath على موقع الملف القابل للتنفيذ للعملية
- يحصل getProcessidFilePathAsync على موقع الملف القابل للتنفيذ للعملية [غير متزامن]
- يحدد isAdmin ما إذا كان البرنامج الحالي يتمتع بحقوق المسؤول
إعادة بناء
يتم تنفيذ جميع واجهات برمجة التطبيقات الخاصة بـ HMC باستخدام winapi +Nodeapi، لذلك ليست هناك حاجة لإعادة الترجمة (يُسمح بتشغيل العقدة 6.14.2 في بيئة العقدة 8 أو البيئة الأعلى ويجب تجميعها باستخدام esbuld بمفردها إذا كنت بحاجة إلى تعديل الكود المصدري). ، يرجى استخدام node-gyp rebuild
للتجميع، الأمر الذي يتطلب أن يكون لديك أساس C/C++ معين واستخدام عقدة gyp كأداة تجميع، والأدوات التي تحتاج إلى استخدامها هي كما يلي:
- Node-gyp
- Visual Studio 2019 (أو إصدارات أخرى)
إشعار المخاطر
سيتم استدعاء كل وحدة وظيفية أكثر من ألف مرة دون تعطل العملية.
تم تحويل واجهة برمجة التطبيقات (API) بشكل صارم من خلال js وهي مطلوبة فقط عند الاتصال بالأصل ومع ذلك، نظرًا لأن لغتي C++ وC تتم كتابتهما بشكل صارم، فيجب استخدام typeScript بشكل صارم لتمرير الأنواع بشكل صارم.
على الرغم من أنه خضع لاختبار التعب، إلا أنه قد لا يزال هناك أعطال غير متوقعة في العملية، لذا يوصى بتشغيله ضمن عملية فرعية.
المؤشرات البرية لـ C++، والمؤشرات الفارغة، وتجاوز الذاكرة، والأخطاء المرجعية، وأخطاء الكتابة، وما إلى ذلك كلها قاتلة للعملية، لذلك عند كتابة وظائف جديدة، تحتاج إلى إجراء اختبارات إجهاد المحاكاة بشكل مستمر