chrome远程调试接口
WebSocket / JSON-RPC 2.0 单线程异步客户端
chrome远程调试接口文档
最近连接的远程调试端口号,也可以使用些属性指定下次连接远程调试服务端使用的默认端口
创建chrome远程调试客户端
返回对象:websocketchromeClientObject
远程对象名或远程方法名字,
作为函数调用时返回一个调用对象,
通过指定返回调用对象的 end 属性定义调用结束回调函数,例如:
ret.end=function(result,err){
}
回调参数 result 为调用返回值,err 为错误信息,
如果调和成功,err参数为null
返回对象:WebSocketJsonClientObject
重新连接到WebSocket服务端
参数指定WebSocket服务端网址,例如 "ws://localhost:7511"
如果不指定参数,则获取上次调用此函数指定的网址参数,
如果之前也没有指定网址则尝试自动查找可用接口地址
如果存在可用的远程接口地址,此函数返回true,否则返回null
但返回true并不表示连接成功,应在open事件中判断是否连接成功
chrome的远程调试接口必须是独占模式,
chrome开发工具连上去了,再连接就会失败
chrome在整个系统只能用一个端口,启动一个开发工具
但是electron可以每个进程使用自己的端口,启动一个独立的远程调试接口
连接到指定端口的首个有效调试页面对象,
参数指定远程调试端口号,或者拥有remoteDebuggingPort属性的对象
for id,title,wsUrl,devtoolsUrl in websocketchromeClientObject.eachDebuggingPage(/*参数指定远程调试端口号,或者拥有remoteDebuggingPort属性的对象*/) {
}
用于获取远程调试服务端信息
参数指定远程调试端口号,或者拥有remoteDebuggingPort属性的对象
返回的参数是一个数组,即使失败也会返回空数组
每个元素是一个表
用于获取所有可以远程调试的页面对象
参数指定远程调试端口号,或者拥有remoteDebuggingPort属性的对象
返回的参数是一个数组,即使失败也会返回空数组
每个元素是页面信息表
套接字是否已关闭
套接字是否已连接并准备就绪(已与服务器握手成功)
websocketchromeClientObject.on("close",function(e){
/*连接被关闭
e.code为错误代码e.reason为错误原因*/
})
websocketchromeClientObject.on("error",function(err){
/*发生错误,err为错误信息*/
})
websocketchromeClientObject.on("fragment",function(msg){
/*收到分片数据
第一个数据包使用msg.type指明类型,参考WebSocket协议规范
后续数据包msg.type为0,最后一个数据包msg.fin为1
如果不指定这个回调函数,则自动并接分片数据后触发onMessage事件*/
})
websocketchromeClientObject.on("message",function(msg){
/*收到服务端数据
msg.type为1时msg.data为文本,
否则msg.data为字节数组(buffer类型)*/
})
websocketchromeClientObject.on("open",function(){
/*已打开连接*/
}
websocketchromeClientObject.on("/*需要监听的Rpc通知事件名字*/",function(param){
})
连接状态,
0为等待连接,1为已连接并准备就绪,2为正在关闭,3为已关闭
只有成功通过WebSocket协议握手以后readyState才会被置为1
这与socket.readyState连接成功就会置为1是不同的
WebSocket客户端对象
此对象的成员谨慎改动
返回对象:websocketjsonClientrpcObject
等待连接到远程调试接口
所有参数可选,超时以毫秒为单位,
如果没有找到有效的接口地址,
此函数会自动发现嵌入electron的远程接口地址并重试连接
连接成功返回true,失败返回false或null