跳至主要內容

模块: mg

大约 4 分钟

模块: mg

导入 mg 模块:

在.js文件中
import * as wifi from 'mg'

BeShell 集成了 Mongoose 库open in new window,用来处理网络应用层的协议,包括 HTTP(S)、WebSocket、MQTT、SNTP、SMTP 等。

关于 mg 模块的例子请参考: 在 ESP32 上用 JavaScript 开发 WEB 后端

事件

error: 发生错误
open: 客户端连接
poll: 轮询事件
resolve: 域名解析完成
connect: 客户端连接建立完成
accept: 客户端连接接受完成
read: 客户端数据接收完成
write: 客户端数据发送完成
close: 客户端连接关闭
http.msg: HTTP 请求/响应消息接收完成
ws.open: WebSocket 握手完成
ws.msg: WebSocket 消息接收完成
ws.ctl: WebSocket 控制消息接收完成
mqtt.cmd: MQTT 低级命令接收完成
mqtt.msg: MQTT PUBLISH 消息接收完成
mqtt.open: MQTT CONNACK 接收完成
sntp.time: SNTP 时间接收完成

模块函数

函数 listenHttp

原型: listenHttp (addrOrOptions:string|object, callback:function)

创建一个处理 http 协议的服务器实例。

此函数的例子参考:简单 HTTP Web 后端的例子

第一个参数可以是 [ip:port] 格式的字符串表示服务器地址,例如 "0.0.0.0:8080"

第一个参数也可以是一个对象:

{
    addr: string ,
    ssl: boolean ,
    callback: (ev:string, req, rspn)=>void
}

回调函数的原型:

callback(event:string, request:HTTPRequest, response:Response): void

其中 event 参数参考:mg 事件

参数:

  • addrOrOptions

    类型string, object

    参数说明该参数可以是 [ip:port] 格式的字符串表示服务器地址,或选项对象

  • callback

    类型function

    参数说明服务器事件回调函数,该函数接收三个参数:事件名称、请求对象、响应对象

返回值:

类型Server

方法 connect

原型: connect (url:string, callback:function)

创建并执行一个客户端连接

该函数的第一个参数是连接地址,第二个参数是一个回调函数,该函数接收三个参数:事件名称、请求对象。

回调函数的原型:

callback(event:string, request:HTTPRequest): void

其中 event 参数参考:mg 事件

参数:

  • url

    类型string

    参数说明连接地址,例如 "http://www.example.com/path"

  • callback

    类型function

    参数说明事件回调函数

返回值:

类型Client

函数 connPeer

原型: connPeer (idx:number)

返回指定客户端连接的对端地址 [ip:port]

参数:

  • idx

    类型number

    参数说明表示第几个客户端

返回值:

类型string

函数 connCount

原型: connCount ()

连接到服务器的客户端数量

返回值:

类型number

函数 getDNS

原型: getDNS ()

返回当前 dns 服务器地址

返回值:

类型string

函数 parseUrl

原型: parseUrl (url:string)

解析 URL 字符串,返回对象:

{
    host: string ,
    port: number ,
    uri: string
}

参数:

  • url

    类型string

    参数说明要解析的 URL 字符串

返回值:

类型object

函数 setLog

原型: setLog (log:string)

设置 mg 的日志级别

参数:

  • log

    类型string

    参数说明日志级别

返回值:

类型undefined