0

デバッグ上の理由から、送信パケットをコンソールに表示したいと思います。パケットはサーバーに正しく到着します。しかし、送信する前にコンソールに表示したい場合は、何も表示されません。

    ACE_Message_Block *m_Header;

    ...

    size_t send_len = m_Header->length(); // Size of the Message Block

    char* output = m_Header->rd_ptr();
    printf("Output: %s", output); // Trying to show it in Console
    // Send it
    server.send(m_Header->rd_ptr(), send_len);

誰かがアイデアを持っていますか?

4

1 に答える 1

0

送信するデータに0が含まれている可能性があります。また、改行も追加する必要があります。

for (size_t i = 0; i < send_len; ++i) {
  if (output[i]<32) {
    printf("\\x%02hhx", (unsigned char) output[i]);
  } else {
    printf("%c", output[i]);
  }
}
printf("\n");
于 2011-04-10T08:58:33.183 に答える