Download presentation
Presentation is loading. Please wait.
Published byΑνδρόνικος Βαμβακάς Modified 約 5 年前
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); } 情報ネットワーク
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.