我正在开发带有本地主机消息传递的 Chrome 扩展程序。我无法在我的主机应用程序中使用消息文本。从建立连接到在扩展中获得响应,一切正常。我需要在我的应用程序中使用消息文本,以便在简单文本数据类型(字符串/字符)中进一步使用/执行。我知道消息是 UTF8 编码的形式,我试图解码但仍然出现问题,有人可以帮我吗?
当我解码消息时,chrome 扩展控制台显示错误:“与本机消息传递主机通信时出错。” 如果我在“cout”之后使用该消息文本,同样的错误是否存在“与本机消息传递主机通信时出错”。直接发送和接收消息对我来说很好。
代码是这样的:
std::string mycode(std::string data){
data= data+"abc"; //changing text to any thing.
cout<< data;
anotherFunction(data);//killing processes using string data
}
int main(int argc, char* argv[])
{
std::cout.setf( std::ios_base::unitbuf );
while (true)
{
unsigned int ch, inMsgLen = 0, outMsgLen = 0;
std::string input = "", response = "";
std::cin.read((char*)&inMsgLen, 4);
if (inMsgLen == 0)
{
break;
}
else
{
for (int i=0; i < inMsgLen; i++)
{
ch = getchar();
input += ch;
}
}
response.append("{\"echo\":").append(input).append("}");
outMsgLen = response.length();
std::cout.write((char*)&outMsgLen, 4);
std::cout << response;
cout<< input;
//using "input" variable for further user
mycode(input);
}
return 0;
}