注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mihooke's blog

IT之恋

 
 
 

日志

 
 

利用Native Messaging和chrome extension 通信  

2015-04-15 20:50:11|  分类: chrome扩展 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

完整的本地exe程序:

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

int main(int argc, char* argv[]){
 while(true){
  char acSize[4];
  memset(acSize, 0, sizeof(acSize));
  cin.read(acSize, 4);
  if(acSize[0] != 0){
   int length = 0;
   memcpy(&length, acSize, 4);

   char* acInput = new char[length + 2];
   memset(acInput, 0, length + 2);
   cin.read(acInput, length);
   ofstream myfile;
   myfile.open("F:\\example.txt", ios_base::app);  
   myfile << "Writing this to file.\n" << acInput << "\n-----\n";  
   myfile.close();
   delete[] acInput;

    /*这段代码和数据传输格式有关,还需注意字节序byte order*/
   char *strings = "{\"text\": \"This is a message from host\",\"num\": \"No.1\"}";
   unsigned int hostMessageLen = strlen(strings);
   cout << char(((hostMessageLen>>0) & 0xFF))  
    << char(((hostMessageLen>>8) & 0xFF))  
    << char(((hostMessageLen>>16) & 0xFF))  
    << char(((hostMessageLen>>24) & 0xFF));  
   cout.write(strings, hostMessageLen);
  }
 }
}
看官方文档的时候要特别注意下面一段话:
Chrome starts each native messaging host in a separate process and communicates with it using standard input (stdin) and standard output (stdout). The same format is used to send messages in both directions: each message is serialized using JSON, UTF-8 encoded and is preceded with 32-bit message length in native byte order. The maximum size of a single message from the native messaging host is 1 MB, mainly to protect Chrome from misbehaving native applications. The maximum size of the message sent to the native messaging host is 4 GB.

除了官方文档,下面是有帮助的博客:
  评论这张
 
阅读(142)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017