Presentation is loading. Please wait.

Presentation is loading. Please wait.

岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/ UDP通信プログラム 課題と回答例 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/ 情報ネットワーク.

Similar presentations


Presentation on theme: "岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/ UDP通信プログラム 課題と回答例 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/ 情報ネットワーク."— Presentation transcript:

1 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/
UDP通信プログラム 課題と回答例 岡村耕二 情報ネットワーク

2 課題 1. “Hello World” という文字列を送信して、それを受信、表示するプログラムを作成せよ。
// 送信側 { char *ch="Hello World"; write(sock,ch,1024); } // 受信側 { char ch[1024]; bzero(ch,1024); read(sock,ch,1024); printf("%s\n",ch); } 情報ネットワーク

3 課題 2.入力した文字列を送信して受信者側で表示し、EOF で終了するプログラムを作成せよ。
// 送信側 while(1){ char ch; ch=getchar(); write(sock,&ch,sizeof(char)); if(ch==EOF) break; } // 受信側 while(1){ char ch; read(sock, &ch, sizeof(char)); if(ch==EOF) break; printf("%c",ch); fflush(stdout); } 情報ネットワーク

4 課題 3. 送信相手をFQDNで指定できるようにせよ。 ヒント: gethostbyname() を使う。
#include <stdio.h> #include <strings.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> main(narg,arg) int narg; char **arg; { int sock; int s_addr; unsigned short port; struct sockaddr_in saddr; struct hostent *host, *gethostbyname(); host=gethostbyname(arg[1]); if(host!=NULL) memcpy((char *)&s_addr, (char *)host->h_addr, host->h_length); else s_addr = inet_addr(arg[1]); 情報ネットワーク

5 「.」の入力で終了するプログラム #include<stdio.h> #include <strings.h>
#include <string.h> main() { char buf[1024]; while(1){ bzero(buf,1024); printf("> "); fflush(stdout); fgets(buf,1024,stdin); if(buf[0]=='.'&&strlen(buf)==2) break; printf(“> %s",buf); } 情報ネットワーク


Download ppt "岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/ UDP通信プログラム 課題と回答例 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/ 情報ネットワーク."

Similar presentations


Ads by Google