チャットプログラム(テスト)を作っています。
とりあえずテストとして自分のipアドレスに送信できるか調べています。
送信するメッセージは HELLO です。
で調べていたところ 送信先のipアドレスを127.0.0.1にするとちゃんと受信されるのですが、
自分のipアドレスを入れると受信できません。
何が原因なのでしょうか。
よろしくお願いします。
送信側ソースコード
#pragma comment(lib, "ws2_32.lib")
#include <winsock2.h>
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(80);
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
sendto(sock, "HELLO", 5, 0, (struct sockaddr *)&addr, sizeof(addr));
closesocket(sock);
WSACleanup();
return 0;
}
#pragma comment(lib, "ws2_32.lib")
#include <stdio.h>
#include <winsock2.h>
int
main()
{
WSAData wsaData;
SOCKET sock;
struct sockaddr_in addr;
char buf[2048];
WSAStartup(MAKEWORD(2,0), &wsaData);
sock = socket(AF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(80);
addr.sin_addr.S_un.S_addr = INADDR_ANY;
bind(sock, (struct sockaddr *)&addr, sizeof(addr));
memset(buf, 0, sizeof(buf));
recv(sock, buf, sizeof(buf), 0);
printf("%s\n", buf);
closesocket(sock);
WSACleanup();
return 0;
}