我可以阅读来自我的扩展程序的消息,但无法将消息从我的 c++ 本机应用程序发送到我的 chrome 扩展程序。我正在使用 Win 8 64 位。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 功能,但仍然无法正常工作。
谢谢你的帮助。