Chrome inline message

I am working on a sample Chrome Downstream application . I did everything as indicated in the steps on the website. I can also run the application, but I do not receive a response message from my own application. When I run the extension, I get a response message very quickly.

Downloaded sample from here

When I sent a message from my own browser application without replying to it, check the image below

enter image description here

C # code below

static void Main(string[] args)
    {
        string message = "test message from native app.";
        OpenStandardStreamOut(message);
        while (OpenStandardStreamIn() != null || OpenStandardStreamIn() != "")
        {
            OpenStandardStreamOut("Received to Native App: " + OpenStandardStreamIn());
            OpenStandardStreamOut("Recieved: " + OpenStandardStreamIn());
        }
    }

    private static string OpenStandardStreamIn()
    {
        //// We need to read first 4 bytes for length information
        Stream stdin = Console.OpenStandardInput();
        int length = 0;
        byte[] bytes = new byte[4];
        stdin.Read(bytes, 0, 4);
        length = System.BitConverter.ToInt32(bytes, 0);
        string input = "";
        for (int i = 0; i < length; i++)
        {
            input += (char)stdin.ReadByte();
        }
        return input;
    }

    private static void OpenStandardStreamOut(string stringData)
    {
        //// We need to send the 4 btyes of length information
        string msgdata = "{\"text\":\"" + stringData + "\"}";
        int DataLength = msgdata.Length;
        Stream stdout = Console.OpenStandardOutput();
        stdout.WriteByte((byte)((DataLength >> 0) & 0xFF));
        stdout.WriteByte((byte)((DataLength >> 8) & 0xFF));
        stdout.WriteByte((byte)((DataLength >> 16) & 0xFF));
        stdout.WriteByte((byte)((DataLength >> 24) & 0xFF));
        //Available total length : 4,294,967,295 ( FF FF FF FF )
        Console.Write(msgdata);
    }

manifest.jsonas shown below

  {"name": "com.example.native",
  "description": "Native support for Chrome Extension",
  "path": "NativeApp.exe",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/"
  ],
  "permissions": [
    "nativeMessaging"
  ]
}

Some, where I feel that we are not receiving a response from the main host becoz, I added a debug point to the following code in a browser that doesn’t get there

function onNativeMessage(message) {

appendMessage ("Received message: " + JSON.stringify (message) + " "); }

Am I missing something?

+4
1

. , JSON. , , "some value" . msgdata, JSON.

+3

All Articles