Я пытаюсь создать поддельную цель отладчика для протокола Chrome Devtool.Я создал простой http-сервер с использованием nodejs и начал выводить список на порт 9229
(точно так же, как nodejs).Я реализовал 2 url /json/version
& /json
, который возвращает тот же ответ, что и nodejs inspect
.Также запущен на сервере веб-сокетов, но сервер получает только запросы /json/version
& /json
, а также цель не присутствует в удаленных целях.
Мой исходный код ниже
var WebSocket = require('ws');
var http = require('http');
function sendJson(json, response) {
response.writeHead(200, {
"Content-Type": "application/json; charset=UTF-8",
"Cache-Control": "no-cache"
})
response.write(JSON.stringify(json));
response.end();
}
var server = http.createServer(function (request, response) {
console.log((new Date()) + ' Received request for ' + request.url);
switch (request.url) {
case '/json/version':
sendJson({
"Browser": "node.js/v8.11.4",
"Protocol-Version": "1.1"
}, response);
break;
case '/json/list':
case '/json':
sendJson([
{
"description": "node.js instance",
"devtoolsFrontendUrl": "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/0198dee4-3ed9-4715-854a-d70d333627f6",
"faviconUrl": "https://nodejs.org/static/favicon.ico",
"id": "0198dee4-3ed9-4715-854a-d70d333627f6",
"title": "node[15981]",
"type": "node",
"url": "file://",
"webSocketDebuggerUrl": "ws://127.0.0.1:9229/0198dee4-3ed9-4715-854a-d70d333627f6"
}
], response);
break;
default:
response.writeHead(404, {});
response.end();
}
});
wss = new WebSocket.Server({server: server});
wss.on('connection', ws => {
ws.on('message', message => {
console.log(`Received message => ${message}`)
})
})
server.listen(9229, function () {
console.log((new Date()) + ' Server is listening on port 9229');
});
Так может кто-нибудь выяснить, что мне не хватает ??