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;
}