こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

UDPデータ受信について

以下でデータを送信すると、直ぐに0x42,0x42,0x00,0x00,0x00,0x00,0x82,0x00,0x01,0x44,0x33,0x00の12バイトのデータを送り返してくるのですが、これを送り返してきたら、数字の1を表示するように以下のプログラム内に書き込むことは出来ませんでしょうか?ご教授お願いします。


#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")

int main()
{
WSADATA wsaData;
SOCKET sock;
struct sockaddr_in addr;

WSAStartup(MAKEWORD(2, 0), &wsaData);
sock = socket(AF_INET, SOCK_DGRAM, 0);

addr.sin_family = AF_INET;
addr.sin_port = htons(3054);
addr.sin_addr.S_un.S_addr = inet_addr("192.168.0.3 ");

char data[] = { 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x02, 0x44, 0x33, 0x05 };

sendto(sock, data, 13, 0, (struct sockaddr *)&addr, sizeof(addr));

closesocket(sock);
WSACleanup();

return 0;
}

投稿日時 - 2014-02-22 03:33:33

QNo.8485256

困ってます

質問者が選んだベストアンサー

> これを送り返してきたら、数字の1を表示するように以下のプログラム内に書き込むことは出来ませんでしょうか?

できます。


受信する
if ( 受信したバイト列 が"これ"と等しい ) {
数字の1を表示する
}

投稿日時 - 2014-02-22 07:45:05

お礼

ありがとうございました!

投稿日時 - 2014-03-02 19:21:24

このQ&Aは役に立ちましたか?

12人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問