• 検索結果がありません。

「魚の骨」ゲームの実装 無限ループ

N/A
N/A
Protected

Academic year: 2021

シェア "「魚の骨」ゲームの実装 無限ループ"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

応用プログラミング I 7/13(改)

1

「魚の骨」ゲームの実装

無限ループ for(;;) {

printf("D@");

for(i=0; i< bones-2; i++) {

printf("+"); //骨を表示

}

printf("¥n");

if(turn) { // 自分の番 //

} else {

// 相手の番 //

}

turn=!turn;

}

自分の番 相手の番

//send

printf("Your turn > ");

for(;;) {

scanf("%d", &keyin);

if(1 <= keyin && keyin <=3) { break; } printf("*WRONG NUMBER*¥nRedo >");

}

bones-=keyin;

if(bones<2) {

sendmes(sock, "YOUWIN", &target);

printf("you lose!¥n");

break;

}

sprintf(buf, "%d", keyin);

sendmes(sock, buf, &target);

//recv

recvbuf(sock, buf, sizeof(buf), &target);

if(strcmp(buf, "YOUWIN")==0) { printf("you win!¥n");

break;

}

sscanf(buf, "%d", &keyin);

bones-=keyin;

}

OX ゲームのプロトコル

ポートは **** 番を使う。

送信データの形式は「<数値

x>,<数値y>」とする。

数値

x,数値y

は,OX 盤上の座標で,それぞれ

1~3

の値を取るものとする。

数値

1

0

の場合はパス(後手が先手に始めさせるのにのみ用いる) ,-1 の場合はギブアップとする。

1.

接続相手に「0,0」を送信する

2.

相手からの受信を受け付ける。

(数値

x=0)を受信すると,何も行わない(後手からの「0,0」により,先手はゲームを始める)

(数値

x<0)を受信すると,相手がギブアップしたものとして,通信を終了する。

3.

自分の手を送信する。

ギブアップの際は,x<0 の値を送信し,通信を終了する。

4. 2~3

を繰り返す。

(2)

応用プログラミング I 7/13(改)

2

SMTP のプロトコル

SMTP = Simple Mail Transfer Protocol

はメール送信に一般的に使われているプロトコルです(TCP ポ

ート番号 25) 。各コマンドは末尾に改行「¥r¥n」をつけたアスキー文字列です。通信手順は以下のよう になっています。

0.

開始メッセージ

1.

接続の確認

2.

送信元メールアドレスの通知

3.

宛先メールアドレスの通知

4.

メッセージ本文の送信

5.

接続の終了

0.

開始メッセージ

サーバに接続するとサーバは「220」から始まる開始メッセージを送信してくる。

1.

接続の確認

クライアント:サーバにコマンド「HELO <クライアントの

FQDN>」を送信。

サーバから「250」から始まる応答があれば,メールを送信する準備ができた。

2.

送信元メールアドレスの通知

クライアント:サーバにコマンド「MAIL FROM: <送信元メールアドレス>」を送信。

サーバは問題がなければ「250」から始まる応答を返す。

3.

宛先メールアドレスの通知

クライアント:サーバにコマンド「RCPT TO: <宛先メールアドレス>」を送信。

サーバは問題がなければ「250」から始まる応答を返す。

4.

メッセージ本文の通知

クライアント:サーバにコマンド「DATA」を送信。サーバから「354」から始まる応答が返ってく るので,メールの本文を送信する。本文を送信し終わったら,最後に「.」 (ピリオド)と改行を送信 する。

サーバは問題がなければ「250」から始まる応答を返す。

5.

接続の終了

クライアント:サーバにコマンド「QUIT」を送信。

問題がなければサーバは「250」から始まる応答を返す。通信は終了する。

課題 21

学芸大のメールサーバ

mail.u-gakugei.ac.jp

等に接続して,メールを送信する

SMTP

クライアントを実 装しなさい。

(実際にメールは送れないが,debianのlocalhost 25番ポートに接続すれば,SMTPサーバの代わりになる。

それでテストしてもよい)

参照

関連したドキュメント

ログ情報のメール転送機能は、以下のイベントが発生した時、それを

SOAP over SMTP による非同期メッセージング SOAP over SMTP の非同期メッセージングを図

ールサーバに実際の SMTP 接続が行われる.この方法な らば,ログイン先の計算機までは

Microsoft Windows Live メール 2009 Thunderbird 3.1.10 Mail (Mac OS X) 1-2

1.3 BMC のメール通知設定 (1) [SMTP] の設定 SMTP サーバ(メール サーバ)の設定を行います。メニューから [設定] – [SMTP] を開きます。 (2) [SMTP]

下の表を参考に、メールサーバの設定を入力、または変更し、[次へ]をクリックします。 メールサーバは、警告メール機能や問い合わせメール機能で使用します。

1.3 BMC のメール通知設定 (1) [SMTP] の設定 SMTP サーバ(メール サーバ)の設定を行います。メニューから [設定] – [SMTP] を開きます。 (2) [SMTP] サーバの設定

第4節 SMTP 認証の情報を悪用したスパムメールへの対処 (1) 対策の概要及び問題の所在 他人の