我可以阅读来自我的扩展程序的消息,但无法从我的c ++原生应用程序向我的Chrome扩展程序发送消息。我使用的是Win 8 64bit。 chrome日志根本不会报告任何错误,因此没有信息。
这是我的代码:
void SendMessage(string msg){
_setmode(_fileno(stdout), _O_BINARY);
unsigned int len = msg.length();
cout.write((char*)&len,4);
//cout.write(reinterpret_cast<char*>(&len),4);
std::cout << msg << flush;
}
string ReadMessage(){
string msg = "";
std::cout.setf( std::ios_base::unitbuf );
unsigned int ch;//, len = 0;
//another way to get the length
_Uint32t len = 0;
cin.read(reinterpret_cast<char*>(&len) ,4);
// read len number of characters as the message
for (int i=0; i < len; i++) {
ch = getchar();
msg += ch;
}
return msg;
}
int _tmain(int argc, _TCHAR* argv[])
{
//reading messages from the extension
string msg = ReadMessage();
//here i write the msg into log and it's there.
//sending a message
SendMessage ("sent by C++");
return 0;
}
这段代码有什么问题?我已经尝试了很多组合来编写消息。此外,我尝试使用或不使用_setmode函数,但仍然无法正常工作。
感谢您的帮助。