UDP send/receive

Last-modified: 2011-12-12 (月) 19:15:02

UDP send/receive

UDPはコネクションレスによる通信を行う。

UDP send

UDP送信のコードは以下のとおり。

#include
#include
#include

int
main()
{
 int sock;
 struct sockaddr_in addr;

 sock = socket(AF_INET, SOCK_DGRAM, 0);

 addr.sin_family = AF_INET;
 addr.sin_port = htons(12345);
 addr.sin_addr.s_addr = inet_addr("127.0.0.1");

 sendto(sock, "HELLO, This is UDP SEND program.", 32, 0, (struct sockaddr *)&addr, sizeof(addr));

 close(sock);

 return 0;
}
~

UDP receive

UDP受信のコードは以下のとおり。


#include
#include
#include
#include
#include

int
main()
{
 int sock;
 struct sockaddr_in addr;

 char buf[2048];

 sock = socket(AF_INET, SOCK_DGRAM, 0);

 addr.sin_family = AF_INET;
 addr.sin_port = htons(12345);
 addr.sin_addr.s_addr = INADDR_ANY;
 addr.sin_len = sizeof(addr);

 bind(sock, (struct sockaddr *)&addr, sizeof(addr));

 memset(buf, 0, sizeof(buf));
 recv(sock, buf, sizeof(buf), 0);

 printf("%s\n", buf);

 close(sock);

 return 0;
}