40 likes | 193 Views
UDP通信プログラム. 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/. UDP 通信プログラム ( ソケットの準備 ). include <stdio.h> #include <strings.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> main(narg,arg) int narg; char **arg; { int sock; int s_addr;
E N D
UDP通信プログラム 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/
UDP通信プログラム(ソケットの準備) include <stdio.h> #include <strings.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> main(narg,arg) int narg; char **arg; { int sock; int s_addr; unsigned short port; struct sockaddr_in saddr; char ch; s_addr=inet_addr(arg[1]); port=atoi(arg[2]); bzero(&saddr,sizeof(struct sockaddr_in)); saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = s_addr; saddr.sin_port = htons(port); sock=socket(AF_INET,SOCK_DGRAM, IPPROTO_UDP); } 情報ネットワーク
送信、受信の準備 if(connect(sock, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in))<0){ perror("connect"); return -1; } if(bind(sock, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in))<0){ perror("bind"); return -1; } 情報ネットワーク
課題 • “Hello World” という文字列を送信して、それを受信、表示するプログラムを作成せよ。 • 入力した文字列を送信して受信者側で表示し、EOF で終了するプログラムを作成せよ。 • 送信相手をFQDNで指定できるようにせよ。 • ヒント: gethostbyname() を使う。 情報ネットワーク