模組dgram
dgram 基礎模組之一,主要用於實作UDP 封包socket 的封裝。
使用步驟:
首先,透過下面的語句引入dgram 模組。
1var dgram = require('dgram');建立UDP 封包socket 實例。
1var sock = dgram.createSocket('udp4');為UDP 封包socket 註冊資料接收事件訊息回呼函數。
1 2 3sock.on('message', function (msg, rinfo) { // process received message });發送UDP 封包訊息到指定目標位址。
1 2 3 4 5var msg = ...; // message to send var port = ...; // destination port var host = ...; // destination host var bytes = sock.send(msg, 0, msg.length, port, host); console.log('UDP message sent to ' + host + ':' + port);
物件
Socket
dgram.Socket物件是一個封裝了資料包函數功能的EventEmitter。參見DgramSocket
1DgramSocket dgram.Socket;
dgram.Socket實例是由dgram.createSocket() 創建的。創建dgram.Socket實例不需要使用new 關鍵字。
靜態函數
createSocket
創建一個dgram.Socket物件
1static DgramSocket dgram.createSocket(Object opts);
呼叫參數:
- opts: Object,
回傳結果:
- DgramSocket, 返回創建的Socket物件
opts 允許的選項是:
1
2
3
4
5
6
7{
"type": "udp4" | "udp6", // socket type
"reuseAddr": true | false, // reuse address, default is false
"ipv6Only": true | false, // only accept IPv6 packets, default is false
"recvBufferSize": 1024, // specify the size of the receive buffer
"sendBufferSize": 1024 // specify the size of the send buffer
}
創建一個dgram.Socket物件
1
2static DgramSocket dgram.createSocket(Object opts,
Function callback);
呼叫參數:
- opts: Object,
- callback: Function, 為'message' 事件新增一個監聽器。
回傳結果:
- DgramSocket, 返回創建的Socket物件
opts 允許的選項是:
1
2
3
4
5
6
7{
"type": "udp4" | "udp6", // socket type
"reuseAddr": true | false, // reuse address, default is false
"ipv6Only": true | false, // only accept IPv6 packets, default is false
"recvBufferSize": 1024, // specify the size of the receive buffer
"sendBufferSize": 1024 // specify the size of the send buffer
}
創建一個dgram.Socket物件
1static DgramSocket dgram.createSocket(String type);
呼叫參數:
- type: String, 套接字族,'udp4' 或'udp6'。
回傳結果:
- DgramSocket, 返回創建的Socket物件
創建一個dgram.Socket物件
1
2static DgramSocket dgram.createSocket(String type,
Function callback);
呼叫參數:
- type: String, 套接字族,'udp4' 或'udp6'。
- callback: Function, 為'message' 事件新增一個監聽器。
回傳結果:
- DgramSocket, 返回創建的Socket物件