使用ClientWebSocket连接到Chrome远程调试器

时间:2014-06-23 10:46:31

标签: c# google-chrome google-chrome-devtools

我正在尝试使用remote debugging protocol与.NET Framework 4.5中引入的WebSocket Class连接到Chrome。

这是我的示例代码,我收到一条错误消息“无法连接到服务器”。

static void Main(string[] args)
{
 Program p = new Program();
 p.MyMethod();
 Console.ReadLine();
}

public async void MyMethod()
{
 var ws = new ClientWebSocket();
 var uri = new Uri(ConfigurationManager.AppSettings["debug_url"], UriKind.Absolute);
 await ws.ConnectAsync(uri, CancellationToken.None);

 Console.WriteLine("Done!");
}

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key="debug_url" value="ws://127.0.0.1:9220/devtools/page/18DA69D1-70E0-428F-985E-9E600B07311E" />
  </appSettings>
</configuration>

使用WebSocket Class连接chrome的正确方法是什么?

平台:Windows 8

1 个答案:

答案 0 :(得分:0)

这种方式不起作用。您必须通过

询问标签列表
http ://127.0.0.1:9220/json/list

解析包含标签ID和网址的答案,并使用这些ID通过网络套接字进行连接。 Chrome会动态生成ID。所以下次他们会有所不同。