/// /// /** * @description dgram 模块提供了 UDP 数据包 socket 的实现 * * 基础模块,引用方式: * ```JavaScript * var dgram = require('dgram'); * ``` * */ declare module 'dgram' { /** * @description dgram.Socket 对象是一个封装了数据包函数功能的 EventEmitter。参见 DgramSocket * dgram.Socket 实例是由 dgram.createSocket() 创建的。创建 dgram.Socket 实例不需要使用 new 关键字。 * */ const Socket: typeof Class_DgramSocket; /** * @description 创建一个 dgram.Socket 对象 * * opts 允许的选项是: * ```JavaScript * { * "type": "udp4" | "udp6", // 必填 * "reuseAddr": true | false, // 若设置为 true,socket.bind() 则会重用地址,即时另一个进程已经在其上面绑定了一个套接字。 默认是 false * "ipv6Only": true | false, // 若设置为 true,socket.bind() 将只接收 IPv6 的数据包。 默认是 false * "recvBufferSize": 1024, // 设置 SO_RCVBUF 套接字值 * "sendBufferSize": 1024 //设置 SO_RCVBUF 套接字值 * } * ``` * @param opts * @return 返回创建的 Socket 对象 * */ function createSocket(opts: FIBJS.GeneralObject): Class_DgramSocket; /** * @description 创建一个 dgram.Socket 对象 * * opts 允许的选项是: * ```JavaScript * { * "type": "udp4" | "udp6", // 必填 * "reuseAddr": true | false, // 若设置为 true,socket.bind() 则会重用地址,即时另一个进程已经在其上面绑定了一个套接字。 默认是 false * "ipv6Only": true | false, // 若设置为 true,socket.bind() 将只接收 IPv6 的数据包。 默认是 false * "recvBufferSize": ###, // 设置 SO_RCVBUF 套接字值 * "sendBufferSize": ### //设置 SO_RCVBUF 套接字值 * } * ``` * @param opts * @param callback 为 'message' 事件添加一个监听器。 * @return 返回创建的 Socket 对象 * */ function createSocket(opts: FIBJS.GeneralObject, callback: (...args: any[])=>any): Class_DgramSocket; /** * @description 创建一个 dgram.Socket 对象 * @param type 套接字族,'udp4' 或 'udp6'。 * @return 返回创建的 Socket 对象 * */ function createSocket(type: string): Class_DgramSocket; /** * @description 创建一个 dgram.Socket 对象 * @param type 套接字族,'udp4' 或 'udp6'。 * @param callback 为 'message' 事件添加一个监听器。 * @return 返回创建的 Socket 对象 * */ function createSocket(type: string, callback: (...args: any[])=>any): Class_DgramSocket; }