#include <windows.h>
#include <stdio.h>
#define LOCALHOST "127.0.0.1"
#define PORT_NO 20000
int main()
{
WSADATA wsaData;
SOCKADDR_IN sa;
SOCKET s;
BYTE buf[32];
DWORD tick;
int ret, n;
// 初期化
ret = WSAStartup(0x0101, &wsaData);
if( ret != 0 ) return -1;
// ソケットの作成
s = socket(PF_INET, SOCK_DGRAM, 0);
if( s == SOCKET_ERROR ) return -1;
// バインド sa.sin_family = AF_INET;
sa.sin_addr.s_addr = INADDR_ANY;
sa.sin_port = PORT_NO;
ret = bind(s, (SOCKADDR *)&sa, sizeof(sa));
if( ret == SOCKET_ERROR ) return -1;
// 送信先セット
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr(LOCALHOST);
sa.sin_port = PORT_NO;
// 送信 strcpy(buf, "ABC");
ret = sendto(s, buf, strlen(buf)+1, 0, (SOCKADDR *)&sa, sizeof(sa));
if( ret == SOCKET_ERROR ) return -1;
Sleep(1000);
// 受信
n = sizeof(sa);
ret = recvfrom(s, buf, sizeof(buf), 0, (SOCKADDR *)&sa, &n);
if( ret == SOCKET_ERROR ) return -1;
// 受信データの表示
printf("recv data=[%s]\n", buf);
// ソケットの破棄
closesocket(s);
// クリーンアップ
WSACleanup();
return 0;
}
最終更新:2008年11月06日 22:06