**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 จัดการเฉพาะ API ที่เกี่ยวข้องกับเครือข่ายเท่านั้น
ความช่วยเหลือในการเขียนโปรแกรม (ภาษาจีน) ความช่วยเหลือ (ภาษาอังกฤษ) CPP (ที่มา)
การติดตั้ง
วิธีการโทร
let HMN = require ( "hmn-win32" ) ;
console . log ( "net:getConnectNetList=>" , hmn . getConnectNetList ( ) [ 0 ] )
ใน TypeScript โดยใช้
import HMC = require ( "hmn-win32" ) ;
ภาพรวมคุณสมบัติ
API ชั้นกลาง
- การแปลง อ้างอิง
- bool แปลงเนื้อหาบูลีนเป็นบูลีนประเภทบูลที่ปลอดภัย
- string แปลงเนื้อหาข้อความ/ข้อความหลอกให้เป็นข้อความที่ปลอดภัย
- int แปลงเนื้อหาตัวเลข/ตัวเลขหลอกให้เป็นตัวเลข int ที่ปลอดภัย
- HKEY วัตถุ HKEY ในรีจิสทรีทั้งหมด
- การบล็อกแบบอะซิงโครนัส ในการนอนหลับ
- วิธี การดั้งเดิม ในการเชื่อมต่อโดยตรงกับ HMN.node (ไม่แนะนำ)
เอพีไอ
- ipv4 รับ ip (v4) ของเครือข่ายท้องถิ่น
- ip รับ ip ของเครือข่ายท้องถิ่น (อะแดปเตอร์, v4, v6)
- **adapterIP **รับ IP ของเครือข่ายท้องถิ่น (อะแดปเตอร์, v4, v6)
- อะแดปเตอร์IPAsync รับ ip ของเครือข่ายท้องถิ่น (อะแดปเตอร์, v4, v6) [อะซิงโครนัสอะซิงโครนัส]
- public_ip รับ ip เครือข่ายสาธารณะในพื้นที่ [asynchronous async]
- getNetParams รับข้อมูลเครือข่ายโฮสต์
- getNetParamsAsync รับข้อมูลเครือข่ายโฮสต์
- freePort รับพอร์ต TCP ฟรี (บริการ) [อะซิงโครนัสอะซิงโครนัส]
- freePortTCP รับพอร์ต tcp ฟรี [อะซิงโครนัสอะซิงโครนัส]
- freePortUDP รับพอร์ต udp ฟรี [asynchronous async]
- hasPortUDP กำหนดว่าพอร์ต udp นี้ว่างหรือไม่ [asynchronous async]
- hasPortTCP กำหนดว่าพอร์ต TCP นี้ไม่ได้ใช้งานหรือไม่ [อะซิงโครนัสอะซิงโครนัส]
- getSystemProxyServer รับลิงก์พร็อกซีระบบ (เฉพาะเมื่อเปิดใช้งานพร็อกซีระบบ)
- getSystemProxyPac รับลิงก์สคริปต์ pac ของพร็อกซีระบบ
- getDomainIPaddress แก้ไขชื่อโฮสต์ IP ของโฮสต์จาก DNS เริ่มต้น (ระบบเครือข่าย)
- getDomainIPaddressAsync แก้ไขชื่อโฮสต์ ip ของชื่อโดเมนจาก DNS เริ่มต้น (เครือข่าย) [asynchronous async]
- getHostsPath รับเส้นทางของไฟล์โฮสต์
- getTCPv6PortProcessID รับว่ากระบวนการใดที่พอร์ตนี้ครอบครองโดย
- getUDPv6PortProcessID รับว่ากระบวนการใดที่พอร์ตนี้ถูกครอบครองโดย
- getUDPv4PortProcessID รับว่ากระบวนการใดที่พอร์ตนี้ถูกครอบครองโดย
- getTCPv4PortProcessID รับว่ากระบวนการใดที่พอร์ตนี้ครอบครองโดย
- getTCPv6PortProcessIDAsync รับว่ากระบวนการใดที่พอร์ตนี้ถูกครอบครอง [asynchronous async]
- getUDPv6PortProcessIDAsync รับว่ากระบวนการใดที่พอร์ตนี้ถูกครอบครอง [asynchronous async]
- getUDPv4PortProcessIDAsync รับว่ากระบวนการใดที่พอร์ตนี้ถูกครอบครอง [asynchronous async]
- getTCPv4PortProcessIDAsync รับว่ากระบวนการใดที่พอร์ตนี้ถูกครอบครอง [asynchronous async]
- getConnectNetList ระบุข้อมูลพอร์ต TCP และ UDP ของพอร์ต ipv4 และ ipv6 ในคอมพิวเตอร์เครื่องนี้
- getConnectNetListAsync ระบุข้อมูลพอร์ต TCP และ UDP ของพอร์ต ipv4 และ ipv6 ในคอมพิวเตอร์เครื่องนี้ [อะซิงโครนัสอะซิงโครนัส]
- killProcess สิ้นสุดกระบวนการ pid (สิทธิ์ต่ำ หากคุณต้องการฆ่าด้วยสิทธิ์สูง โปรดใช้ hmc-win32)
- การบล็อกการซิงโครไนซ์ การนอนหลับ (กระบวนการ)
- การบล็อกแบบอะซิงโครนัส การนอนหลับ (กระบวนการ)
- PortWatchdog ตรวจพบการเปลี่ยนแปลงพอร์ตและเริ่มการโทรกลับหากปิดหรือเปิดใช้งาน
- getProcessidFilePath รับตำแหน่งไฟล์ปฏิบัติการของกระบวนการ
- getProcessidFilePathAsync รับตำแหน่งไฟล์ปฏิบัติการของกระบวนการ [asynchronous async]
- isAdmin กำหนดว่าซอฟต์แวร์ปัจจุบันมีสิทธิ์ของผู้ดูแลระบบหรือไม่
สร้างใหม่
API ทั้งหมดของ HMC ได้รับการปรับใช้โดยใช้ winapi + nodeapi ดังนั้นจึงไม่จำเป็นต้องคอมไพล์ใหม่ (node6.14.2 ได้รับอนุญาตให้ทำงานในสภาพแวดล้อม node8 หรือสูงกว่า และจำเป็นต้องคอมไพล์ด้วย esbuld ด้วยตัวเอง) หากคุณต้องการแก้ไขซอร์สโค้ด โปรดใช้ node-gyp rebuild
เพื่อคอมไพล์ ซึ่งจำเป็นต้องมีพื้นฐาน C/C++ และใช้ node-gyp เป็นเครื่องมือในการคอมไพล์ เครื่องมือที่คุณต้องใช้มีดังนี้:
- โหนด-gyp
- Visual Studio 2019 (หรือเวอร์ชันอื่น ๆ )
การแจ้งเตือนความเสี่ยง
แต่ละโมดูลการทำงานจะถูกเรียกมากกว่าพันครั้งโดยไม่ทำให้กระบวนการขัดข้อง
API ได้รับการแปลงรหัสอย่างเข้มงวดผ่าน js และจำเป็นเมื่อเรียกใช้เนทิฟเท่านั้น อย่างไรก็ตาม เนื่องจากทั้งภาษา C++ และ C มีการพิมพ์อย่างเคร่งครัด ดังนั้น typeScript จึงต้องใช้อย่างเคร่งครัดเพื่อส่งผ่านประเภทอย่างเคร่งครัด
แม้ว่าจะผ่านการทดสอบความล้าแล้ว แต่กระบวนการอาจยังคงหยุดทำงานโดยไม่คาดคิด ดังนั้นจึงขอแนะนำให้รันภายใต้กระบวนการลูก
พอยน์เตอร์แบบไวด์, พอยน์เตอร์ว่าง, หน่วยความจำล้น, ข้อผิดพลาดในการอ้างอิง, ข้อผิดพลาดประเภท ฯลฯ ของ C++ ล้วนส่งผลร้ายแรงต่อกระบวนการ ดังนั้นเมื่อเขียนฟังก์ชันใหม่ คุณจะต้องดำเนินการทดสอบความล้าของการจำลองอย่างต่อเนื่อง