Latest web development tutorials

Node.js โมดูลสุทธิ

Node.js โมดูลสุทธิ

โมดูลเครื่องมือ Node.js โมดูลเครื่องมือ Node.js

Node.js โมดูลสุทธิให้จำนวนของแกดเจ็ตสำหรับเครือข่ายการสื่อสารพื้นฐานรวมทั้งการสร้างวิธีการที่ลูกค้า / เซิร์ฟเวอร์ที่เราสามารถนำเข้าไปในโมดูลในรูปแบบต่อไปนี้:

var net = require("net")

ทาง

เลขที่ วิธีการและคำอธิบาย
1 net.createServer ([ตัวเลือก] [, connectionListener ])
สร้างเซิร์ฟเวอร์ TCP พารามิเตอร์ ConnectionListener โดยอัตโนมัติไปยัง 'เชื่อมต่อ' เหตุการณ์สร้างฟัง
2 net.connect (ตัวเลือก [connectionListener])
มันกลับใหม่ 'net.Socket' และเชื่อมต่อไปยังที่อยู่ที่ระบุไว้และพอร์ต
เมื่อซ็อกเก็ตที่จัดตั้งขึ้นก็จะก่อให้เกิดเหตุการณ์ "เชื่อมต่อ"
3 net.createConnection (ตัวเลือก [connectionListener])
สร้างโฮสต์และพอร์ตของโฮสต์ที่จะเชื่อมต่อ TCP พอร์ต เจ้าภาพเริ่มต้นที่ 'localhost'
4 net.connect (พอร์ต [โฮสต์] [ , connectListener])
สร้างพอร์ตสำหรับพอร์ตโฮสต์และเป็นเจ้าภาพการเชื่อมต่อ TCP เจ้าภาพเริ่มต้นที่ 'localhost' พารามิเตอร์ connectListener จะเพิ่มเป็นผู้ฟังที่ 'เชื่อมต่อ' เหตุการณ์ ย้อนกลับ 'net.Socket'
5 net.createConnection (พอร์ต [โฮสต์] [ , connectListener])
สร้างพอร์ตสำหรับพอร์ตโฮสต์และเป็นเจ้าภาพการเชื่อมต่อ TCP เจ้าภาพเริ่มต้นที่ 'localhost' พารามิเตอร์ connectListener จะเพิ่มเป็นผู้ฟังที่ 'เชื่อมต่อ' เหตุการณ์ ย้อนกลับ 'net.Socket'
6 net.connect (เส้นทาง [connectListener])
สร้างการเชื่อมต่อไปยังเส้นทางของซ็อกเก็ตที่ใช้ระบบปฏิบัติการยูนิกซ์ พารามิเตอร์ ConnectListener เป็นผู้ฟังจะถูกเพิ่มในเหตุการณ์ "เชื่อมต่อ" ย้อนกลับ 'net.Socket'
7 net.createConnection (เส้นทาง [connectListener])
สร้างการเชื่อมต่อไปยังเส้นทางของซ็อกเก็ตที่ใช้ระบบปฏิบัติการยูนิกซ์ พารามิเตอร์ connectListener จะเพิ่มเป็นผู้ฟังที่ 'เชื่อมต่อ' เหตุการณ์ ย้อนกลับ 'net.Socket'
8 net.isIP (input)
การตรวจสอบว่าที่อยู่ IP การป้อนข้อมูล IPV4 ผลตอบแทน 4 IPV6 ผลตอบแทน 6 มิฉะนั้นกลับ 0
9 net.isIPv4 (input)
ถ้าที่อยู่ที่ป้อนเป็น IPV4 ผลตอบแทนที่แท้จริงมิฉะนั้นกลับเท็จ
10 net.isIPv6 (input)
หากที่อยู่ที่ถูกป้อนเป็น IPV6 ผลตอบแทนที่แท้จริงมิฉะนั้นกลับเท็จ

net.Server

net.Server มักจะใช้ในการสร้าง TCP หรือเซิร์ฟเวอร์ภายใน

เลขที่ วิธีการและคำอธิบาย
1 server.listen (พอร์ต [โฮสต์] [ ค้าง] [โทรกลับ])
ฟังพอร์ตการเชื่อมต่อและโฮสต์ AC โฮสต์พอร์ตที่ระบุไว้ โดยค่าเริ่มต้นโฮสต์ยอมรับอยู่ IPv4 ใด ๆ (INADDR_ANY) การเชื่อมต่อโดยตรง พอร์ตเป็น 0 มันจะกำหนดพอร์ตแบบสุ่ม
2 server.listen (เส้นทาง [โทรกลับ])
ระบุเส้นทางของการเชื่อมต่อเริ่มต้นเซิร์ฟเวอร์ซ็อกเก็ตในท้องถิ่น
3 server.listen (จัดการ [โทรกลับ])
เชื่อมต่อโดยการระบุหมายเลขอ้างอิง
4 server.listen (ตัวเลือก [การเรียกกลับ])
ตัวเลือกแอตทริบิวต์: พอร์ตโฮสต์โฮสต์และค้างเช่นเดียวกับพารามิเตอร์ที่ไม่จำเป็นฟังก์ชันการเรียกกลับเรียกพวกเขาร่วมกัน server.listen (พอร์ต [โฮสต์], [ค้าง], [โทรกลับ]) นอกจากนี้พารามิเตอร์เส้นทางที่สามารถนำมาใช้เพื่อระบุซ็อกเก็ตยูนิกซ์
5 server.close ([โทรกลับ])
Server หยุดยอมรับการเชื่อมต่อใหม่และรักษาฐานการเชื่อมต่อที่มีอยู่ นี้เป็นฟังก์ชั่นไม่ตรงกันเมื่อทุกการเชื่อมต่อเซิร์ฟเวอร์ที่สิ้นสุดจะปิดตัวลงและจะเรียก 'ปิด' เหตุการณ์
6 server.address ()
ระบบปฏิบัติการส่งกลับที่อยู่ที่ถูกผูกไว้ชื่อโปรโตคอลครอบครัวและพอร์ตเซิร์ฟเวอร์
7 server.unref ()
หากเป็นเหตุการณ์ของระบบเซิร์ฟเวอร์เพียงหนึ่ง unref สายที่ใช้จะช่วยให้โปรแกรมที่จะออกจาก
8 server.ref ()
และ unref ตรงกันข้ามถ้านี้เป็นเซิร์ฟเวอร์เพียงโทรโทษก่อนที่จะถูก unref บนเซิร์ฟเวอร์จะไม่อนุญาตให้ออกจากโปรแกรม (พฤติกรรมเริ่มต้น) ถ้าเซิร์ฟเวอร์ที่ได้รับการอ้างอ้างอิงถูกเรียกอีกครั้งและจะไม่ได้มีผลกระทบ
9 server.getConnections (โทรกลับ)
Asynchronous Gets จำนวนของเซิร์ฟเวอร์ที่เชื่อมต่อการใช้งานในปัจจุบัน เมื่อซ็อกเก็ตถูกส่งไปยังกระบวนการเด็กหลังจากที่มีประสิทธิภาพฟังก์ชันการเรียกกลับมีสองข้อโต้แย้งที่ผิดพลาดและการนับ

เหตุการณ์

เลขที่ กิจกรรมและรายละเอียด
1 การฟัง
เมื่อสายเซิร์ฟเวอร์ server.listen ทริกเกอร์ที่มีผลผูกพัน
2 สัมพันธ์
มันจะถูกเรียกเมื่อการเชื่อมต่อใหม่จะถูกสร้างขึ้น ซ็อกเก็ตเช่น net.Socket
3 ใกล้
มันเป็นต้นเหตุของเซิร์ฟเวอร์ปิด โปรดทราบว่าถ้ามีการเชื่อมต่อเหตุการณ์นี้จะไม่ถูกเรียกจนปิดการเชื่อมต่อทั้งหมด
4 ความผิดพลาด
มันจะถูกเรียกเมื่อเกิดข้อผิดพลาด 'ปิด' เหตุการณ์จะถูกเรียกว่าโดยตรงต่อไปนี้เหตุการณ์ที่เกิดขึ้น

net.Socket

net.Socket วัตถุเป็น TCP หรือ UNIX ซ็อกเก็ตที่เป็นนามธรรม ตัวอย่าง net.Socket ของการสำนึกของอินเตอร์เฟซสตรีมเพล็กซ์ พวกเขาสามารถสร้างขึ้นในลูกค้าผู้ใช้ (โดยใช้การเชื่อมต่อ ()) ใช้หรือเมื่อพวกเขาถูกสร้างขึ้นโดยโหนดและมอบให้กับผู้ใช้ผ่านกิจกรรมการเชื่อมต่อเซิร์ฟเวอร์

เหตุการณ์

เหตุการณ์ net.Socket:

เลขที่ กิจกรรมและรายละเอียด
1 ค้นหา
หลังชื่อ แต่ก่อนที่จะเชื่อมต่อกับเรียกเหตุการณ์นี้ สำหรับ UNIX sokcet NA
2 ต่อ
เมื่อเรียกจะจัดตั้งขึ้นประสบความสำเร็จในการเชื่อมต่อซ็อกเก็ต
3 ข้อมูล
ไฟไหม้เมื่อข้อมูลที่ได้รับ
4 ปลาย
เมื่อซ็อกเก็ตและส่วนอื่น ๆ ที่จะส่งแพ็คเก็ต FIN ที่เรียกเหตุการณ์นี้
5 การหยุดพักชั่วคราว
เมื่อหมดเวลาที่ไม่ได้ใช้งานซ็อกเก็ตเรียกเฉพาะซ็อกเก็ตโชว์ไม่มีการใช้งาน ผู้ใช้ต้องด้วยตนเองปิดการเชื่อมต่อ
6 ท่อระบายน้ำ
เมื่อเรียกเป็นที่ว่างเปล่าเมื่อแคชการเขียน มันสามารถนำมาใช้ในการควบคุมการอัปโหลด
7 ความผิดพลาด
มันจะถูกเรียกเมื่อเกิดข้อผิดพลาด
8 ใกล้
ไฟไหม้เมื่อซ็อกเก็ตปิดสนิท พารามิเตอร์ Had_error เป็นค่าบูลีนที่บ่งชี้ว่าเป็นเพราะใกล้ซ็อกเก็ตส่งข้อผิดพลาด

คุณสมบัติ

net.Socket ให้คุณสมบัติที่มีประโยชน์มากมายง่ายต่อการควบคุมการปฏิสัมพันธ์ซ็อกเก็ต:

เลขที่ อสังหาริมทรัพย์และคำอธิบาย
1 socket.bufferSize
คุณสมบัตินี้จะแสดงจำนวนไบต์ที่จะเขียนลงในบัฟเฟอร์
2 socket.remoteAddress
สตริงระยะไกลที่อยู่ IP ตัวอย่างเช่น: 74 .125.127.100 'หรือ' 2001: 4860: A005 :: 68 '
3 socket.remoteFamily
IP สตริงชุดโปรโตคอลระยะไกลเช่น 'IPv4' หรือ 'IPv6'
4 socket.remotePort
พอร์ตระยะไกลเป็นตัวแทนดิจิตอลเช่น: 80 หรือ 21
5 socket.localAddress
อินเตอร์เฟซในท้องถิ่นของมัดเชื่อมต่อเครือข่ายลูกค้าระยะไกลตรงที่อยู่ในท้องถิ่นของสตริงการเชื่อมต่อ ตัวอย่างเช่นถ้าคุณกำลังฟัง '0.0.0.0' และลูกค้าที่เชื่อมต่อกับ '192.168.1.1' ค่าที่จะ '192.168.1.1'
6 socket.localPort
หมายเลขพอร์ตที่อยู่ในท้องถิ่น ตัวอย่างเช่น: 80 หรือ 21
7 socket.bytesRead
ที่จะได้รับจำนวนไบต์ที่ได้รับ
8 socket.bytesWritten
จำนวนไบต์ที่ส่ง

ทาง

เลขที่ วิธีการและคำอธิบาย
1 net.Socket ใหม่ ([ตัวเลือก])
เราสร้างวัตถุซ็อกเก็ตใหม่
2 socket.connect (พอร์ต [โฮสต์] [ , connectListener])
พอร์ตที่กำหนดและโฮสต์พอร์ตเจ้าภาพสร้างการเชื่อมต่อซ็อกเก็ต เป็นเจ้าภาพค่าเริ่มต้นพารามิเตอร์ localhost ปกติไม่จำเป็นต้องใช้ net.createConnection เปิดซ็อกเก็ต เพียง แต่คุณจะใช้เพื่อให้บรรลุซ็อกเก็ตของพวกเขาเมื่อ
3 socket.connect (เส้นทาง [connectListener])
เปิดเส้นทางซ็อกเก็ต Unix ระบุ ปกติไม่จำเป็นต้องใช้ net.createConnection เปิดซ็อกเก็ต เพียง แต่คุณจะใช้เพื่อให้บรรลุซ็อกเก็ตของพวกเขาเมื่อ
4 socket.setEncoding ([การเข้ารหัส])
การตั้งค่าการเข้ารหัส
5 socket.write (ข้อมูล [การเข้ารหัส] [ โทรกลับ])
ส่งข้อมูลบนซ็อกเก็ต พารามิเตอร์ที่สองระบุการเข้ารหัสของสตริงเริ่มต้นคือการเข้ารหัส UTF8
6 socket.end ([ข้อมูล] [การเข้ารหัส ])
ซ็อกเก็ตกึ่งปิด ยกตัวอย่างเช่นมันส่งแพ็กเก็ต FIN เซิร์ฟเวอร์ยังคงเป็นไปในการส่งข้อมูล
7 socket.destroy ()
ตรวจสอบให้แน่ใจว่าไม่มีฉันกิจกรรม / O บนซ็อกเก็ต เฉพาะในกรณีที่มีข้อผิดพลาดเกิดขึ้นเฉพาะเท่าที่จำเป็น (การประมวลผลข้อผิดพลาดอื่น ๆ )
8 socket.pause ()
หยุดอ่านข้อมูล นั่นคือข้อมูลจะไม่เรียกเหตุการณ์ สำหรับการอัปโหลดการควบคุมเป็นประโยชน์อย่างมาก
9 socket.resume ()
โทรหยุด () หลังจากที่ได้อ่านข้อมูลที่คุณต้องการที่จะเรียกคืน
10 socket.setTimeout (หมดเวลา [โทรกลับ])
ซ็อกเก็ตไม่ได้ใช้งานมานานกว่ามิลลิวินาทีหมดเวลาซ็อกเก็ตมีการตั้งค่าการหมดเวลา
11 socket.setNoDelay ([NoDelay])
ปิดการใช้งาน Nag (Nagle) อัลกอริทึม โดยการเชื่อมต่อ TCP ใช้ขั้นตอนวิธีการเริ่มต้น Nag พวกเขาบัฟเฟอร์ข้อมูลก่อนที่จะส่ง ส่งข้อมูลทันที NoDelay ตั้งค่าเป็นจริงใน socket.write โทร () เวลา NoDelay ค่าเริ่มต้นเป็นความจริง
12 socket.setKeepAlive ([Enable] [initialDelay ])
ปิด / เปิดใช้งานฟังก์ชั่นการเชื่อมโยงนานและก่อนที่จะส่งครั้งแรกในการเชื่อมต่อที่ไม่ได้ใช้งานเป็นเวลานานบนซ็อกเก็สอบสวนตั้งค่าตัวเลือกความล่าช้าในการเริ่มต้น เริ่มต้นเป็นเท็จ การตั้งค่า initialDelay (MS) เพื่อตั้งค่าความล่าช้าแพ็คเก็ตล่าสุดที่ได้รับและการเชื่อมต่อระหว่างการสอบสวน initialDelay ตั้งค่าเป็น 0 ก็จะปล่อยให้ค่าเริ่มต้น (หรือก่อนหน้า) มูลค่า ค่าเริ่มต้นคือ 0
13 socket.address ()
ระบบปฏิบัติการส่งกลับที่อยู่ที่ถูกผูกไว้ชื่อโปรโตคอลครอบครัวและพอร์ตเซิร์ฟเวอร์ วัตถุกลับมีสามคุณลักษณะเช่น {Port: 12346 ครอบครัว: 'IPv4' ที่อยู่: '127.0.0.1'}
14 socket.unref ()
หากเป็นเหตุการณ์ของระบบเซิร์ฟเวอร์เพียงหนึ่ง unref สายที่ใช้จะช่วยให้โปรแกรมที่จะออกจาก ถ้าเซิร์ฟเวอร์ที่ได้รับ unref, unref ถูกเรียกอีกครั้งและจะไม่ได้มีผลกระทบ
15 socket.ref ()
และ unref ตรงกันข้ามถ้านี้เป็นเซิร์ฟเวอร์เพียงโทรโทษก่อนที่จะถูก unref บนเซิร์ฟเวอร์จะไม่อนุญาตให้ออกจากโปรแกรม (พฤติกรรมเริ่มต้น) ถ้าเซิร์ฟเวอร์ที่ได้รับการอ้างอ้างอิงถูกเรียกอีกครั้งและจะไม่ได้มีผลกระทบ

ตัวอย่าง

สร้างไฟล์ server.js รหัสเป็นดังนี้:

var net = require('net');
var server = net.createServer(function(connection) { 
   console.log('client connected');
   connection.on('end', function() {
      console.log('客户端关闭连接');
   });
   connection.write('Hello World!\r\n');
   connection.pipe(connection);
});
server.listen(8080, function() { 
  console.log('server is listening');
});

การดำเนินงานของเซิร์ฟเวอร์รหัสด้านบน:

$ node server.js
server is listening   # 服务已创建并监听 8080 端口

เปิดหน้าต่างใหม่สร้างไฟล์ client.js รหัสเป็นดังนี้:

var net = require('net');
var client = net.connect({port: 8080}, function() {
   console.log('连接到服务器!');  
});
client.on('data', function(data) {
   console.log(data.toString());
   client.end();
});
client.on('end', function() { 
   console.log('断开与服务器的连接');
});

ดำเนินการตามรหัสลูกค้าด้านบน:

连接到服务器!
Hello World!

断开与服务器的连接

ตัวอย่างที่แสดงให้เห็นถึง GIF

โมดูลเครื่องมือ Node.js โมดูลเครื่องมือ Node.js