私はC++winsockでサーバーを作成しています。
現在、クライアントが送信したパケットをデバッグして確認しようとしています。
これが私のコードです
int iSendResult;
char recvbuf[DEFAULT_BUFLEN];
int recvbuflen = DEFAULT_BUFLEN;
(...)
iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (iResult > 0) {
cout << "The packet is: " << hex << recvbuf << endl;
しかし、クライアントが接続したときのコンソールでは、ディスプレイは次のようになります。
The packet is:
何も表示されません。私は何が欠けていますか?
私が行った場合:
int iSendResult;
char recvbuf[DEFAULT_BUFLEN];
int recvbuflen = DEFAULT_BUFLEN;
(...)
iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (iResult > 0) {
cout << "The packet size: " << iResult << endl;
//result is "The packet size: 10"
今、私はそのパケットが何であるかを見たいです。
アップデート
私はこれを試しました:
iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (iResult > 0) {
string packet = recvbuf;
cout << "The packet is: " << packet.c_str() << endl;
それでも文字列は返されません。ただ「パケットは:」