chrome扩展本机消息传递::无法连接:与本机消息传递主机通信时出错

问题描述

@H_502_0@我是chrome扩展本机消息传递的新手。我在以下位置阅读了该文档: https://developer.chrome.com/extensions/nativeMessaging

@H_502_0@我要分享的示例仅取自{https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/nativeMessaging

@H_502_0@,除了代替python host之外,我有一个简单的java程序。在运行扩展程序并单击“连接”时,出现错误

@H_502_0@连接失败:与本机消息传递主机通信时出错。

@H_502_0@我的猜测是这是2个错误的组合:

@H_502_0@连接失败

@H_502_0@通信时出错

@H_502_0@作为一个实验,我没有从Java主机发送任何消息,希望它不会在“通信错误时抛出错误”,但是仍然得到相同的错误消息。下面是代码

@H_502_0@ Chrome文件

@H_502_0@ manifest.json:

{
  // Extension ID: knldjmfmopnpolahpmmgbagdohdnhkik
  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcBHwzDvyBQ6bDppkIs9MP4ksKqCMyXQ/A52JivHZKh4YO/9vJsT3oaYhSpDCE9RPocOEQvwsHsFReW2nUEc6OLLyoCFFxIb7KkLGsmfakkut/fFdNJYh0xOTbSN8YvLWcqph09XAY2Y/f0AL7vfO1cuCqtkMt8hFrBGWxDdf9CQIDAQAB","name": "Native Messaging Example","version": "1.0","manifest_version": 2,"description": "Send a message to a native application.","browser_action": {
    "default_title": "Test Extension",//"default_icon": {
    //    "19": "img/icon19.png",//    "38": "img/icon38.png"
    //},"default_popup": "main.html"
},"type": "stdio","icons": {
    "128": "icon-128.png"
  },"permissions": [
    "nativeMessaging"
  ]
}
@H_502_0@完整的扩展代码可以在以下位置找到: https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/nativeMessaging/app/main.js

@H_502_0@本地文件

@H_502_0@ com.google.chrome.example.echo-win.json:

{
  "name": "com.google.chrome.example.echo","description": "Chrome Native Messaging API Example Host","path": "native-messaging-example-host.bat","allowed_origins": [
    "chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/"
  ]
}
@H_502_0@ install_host.bat

REG ADD "HKCU\Software\Google\Chrome\NativeMessagingHosts\com.google.chrome.example.echo" /ve /t REG_SZ /d "%~dp0com.google.chrome.example.echo-win.json" /f
@H_502_0@ native-messaging-example-host.bat:

cd C:\Users\jagrati.agrawal\Desktop\serviceNow\src-master-chrome-common-extensions-docs-examples-api-nativeMessaging\host && java HelloWorld
@H_502_0@ HelloWorld.java

import java.nio.ByteBuffer;
import java.nio.ByteOrder;

public class HelloWorld {
public static void main(String args[]) throws Exception{
    String message = "{\"m\":\"hi\"}";
 
System.out.println(ByteBuffer.allocate(4).order(ByteOrder.nativeOrder()).putInt(message.length()).array());
System.out.write(message.getBytes("UTF-8"));
System.out.flush();
 
}
}
@H_502_0@请帮助。另外,如果我理解正确,当我更改HelloWorld.java并将其编译为HelloWorld时,不需要重新安装扩展程序。

@H_502_0@ chrome extension error

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)