情報ネットワーク

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);
}
情報ネットワーク
2
送信、受信の準備
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;
}
情報ネットワーク
3
課題
1. “Hello World” という文字列を送信して、そ
れを受信、表示するプログラムを作成せよ。
2. 入力した文字列を送信して受信者側で表示
し、EOF で終了するプログラムを作成せよ。
3. 送信相手をFQDNで指定できるようにせよ。
– ヒント: gethostbyname() を使う。
情報ネットワーク
4