残留開始まで


[[Classes]]


//*試験情報 [#r441d682]
//[[Classes/2013netpro/Test]]


*次回は1/20 2限 最終課題の優秀課題発表会 [#eed31c87]
本日私の手違いで1限の教室がつかえませんでしたので
2限から優秀課題の発表会を行います。

*1月16日18時00分最終課題締切です。 [#r3a68157]

//*10/28のネットワークプログラミング ネットワークプログラミング演習は休講とします。 [#b74fe563]


*ネットワークプログラミング+演習2013 [#tf4b821c]


-講師:岩井
-21001教室
-月曜日1-2限

//-10月28日(月)は休講です。

#contents

//*9.16 7:00現在 東京都全域、足立区にも暴風警報がでています。休講とします。unipa等、大学ホームページ等確認してください。

//-http://www.jma.go.jp/jp/warn/1312100.html

*課題提出方法 [#o2d973a0] 
演習問題の提出期限は、原則として出題日の翌月曜日の10:40とする。~
提出先: 総合メディアセンターの「ネットワークプログラミング演習」フォルダの出題回フォルダ~
(\\nas002.term.usmc.dendai.ac.jp に term\学籍番号 で接続)

*テスト(1限とっている人) [#e2634027]
**12月23日1限60分 [#ldd2a449]
**範囲 [#v30459b0]
-オブジェクトの配列処理、簡単なソケット通信、文字列処理に関するプログラミングを書かせる問題。
-持ち込み可、PCを忘れないように。LANケーブル必須。当日故障が心配される場合は事前に借りておくように。
-テストは第14回フォルダーに提出すること。


*最終課題(2限とっている人) [#qe5d4e86]
**1月16日18時00分締め切り [#g724f2ea]
**課題内容 [#g43b654f]
-ネットワークを用いたサーバ、クライアントプログラム通信で授業の課題内容を越えるものを作成してください。授業内容とは違うことをしてもよいが。インターネットWEBで落ちている他人のソースコードの丸コピーは評価をDとします。 (副手3人でチェックします。もちろん一部参考にして改良していくのはよい。参照元を明記してください)
-ゲーム、役に立つもの、面白いもの、クライントとサーバは別の人が動かすことを前提。
ファイルはテストして完全な状態で提出お願いします
**提出方法 [#v4f8e1a1]
-第15回の授業用ネットワークフォルダに提出すること。 
-ソースコード (サーバ、クライアント、そのほか)すべてのjavaファイルをいれること。パッケージ名なしで作成すること。ソースコードに簡単な説明コメントをいれておくこと。※サーバとクライアント以外にも必要なクラスは全て必ず絶対入れること!!!
-起動手順、動作の様子のスクリーンキャプチャー、操作手順、説明が書いてあるpptかpdfファイルを同封しておくこと。企画書もこのファイルに追加すること。
-第12回フォルダにある企画書は適宜修正していくこと。



*講義 [#w3140627]
**(13)総復習 [#idc6eb4d]
#ref(netpro13.zip)
-オブジェクト同士の比較
-http://www.lcv.ne.jp/~kenmio/yomimono/yomimono106.htm

**(12)TCP通信3 GUI接続II [#lce2e7fa]
#ref(netpro12.zip)
#ref(netpro2013_12.pdf)

今週の課題
-guichatパッケージのGuiAnimation+MulitiChatServer
を改造してクライアントから表情を指定するとその表情に顔が変化(たとえば眉毛の角度)するように改造せよ。
感情は,smile,angry,normal
を実装すること

**(11)TCP通信3 GUI接続 [#lce2e7fa]
#ref(netpro11_2.zip)
#ref(GUIAnimationFaceObjMain.java)

今週の課題、
-guichatパッケージのGuiAnimation+Serverを改造して
以下の中からひとつできると思う課題を選び行うこと。
-(B1)クライアントから表情を指定するとその表情に顔が変化するように改造せよ。
-(B2)クライアントから色を指定するとその色に顔が変化するように改造せよ。
-(B3)クライアントから位置(x,y)を指定するとその位置から開始するように変更せよ。
-(A)Advance課題:おくったメッセージごとに顔が追加されメッセージが浮遊するようにしなさい。顔は消してメッセージのみ浮遊させてよい。

動きが早い場合はx = x + 10;=>からx = x + 2;に変更すること。
   hint1:カンマによる文字列分割
    //(1)分割する文字列を生成
    String str = new String("java,Java,JAVA");
    //(2)文字列をsplitメソッドで分割
    String[] strAry = str.split(",");
    //(3)分割された文字列の表示
    for (int i=0; i<strAry.length; i++) {
      System.out.println(strAry[i]);
    }

  hint2:
    送信メッセージはdoClientJob(hostname,"face,0,200,300,Face0号へのメッセージ");が扱いやすいです。

**(10)TCP通信2 multithread buffering trycatch [#e4f66908]
#ref(netpro10.zip)
#ref(netpro2013_10.pdf)
 今日の課題Basic MultiServerSample、MultiClientSample を変更して送信した10進数整数を2進数か16進数に変換すするプログラムを書け。
 AdvanceどのようにしたらDosアタックからサーバ全体が落ちることを防ぐことができるかコードで示せ。
 hint1
	String calc(String line) {
		int x = Integer.parseInt(line);	
                String s="10";
                //割り算のあまりを文字列に追加していくと二進数になる。商を活用。
		return s;
	}

 hint2
  String binary = Integer.toBinaryString( 100 );//10進数
  String hex = Integer.toHexString( 100 );//16進数
  http://docs.oracle.com/javase/jp/1.5.0/api/java/lang/Integer.html#toBinaryString(int)
 
**(9)TCP通信 [#q4e0444b]
#ref(2013年度第2回大学院紹介ガイダンス.pdf);
#ref(netpro09.zip)
#ref(netpro2013_9.pdf)
#ref(ClassA.java)
#ref(XmasPresent.java)
-演習課題 DendaiTCPClient2Age、DendaiTCPServ2Ageを改造してXmasPresentオブジェクトを交換するプログラムを作成せよ。完成後は授業提出フォルダの第9回にいれること。
締め切りは月曜日朝9時まで(授業内にチェックを受けた人は提出しなくて結構です。)

 public class XmasPresent implements Serializable{
	String message="クリスマスおめでとう .xxx より プレゼントです";
	String present="金剛";
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public String getPresent() {
		return present;
	}
	public void setPresent(String present) {
		this.present = present;
	}
 }


**(8)UDP通信 [#m3dfbefd]
#ref(netpro08.zip)
#ref(netpro2013_8.pdf)
-swing 
--http://www.java2s.com/Tutorial/Java/0240__Swing/Catalog0240__Swing.htm
-http://docs.oracle.com/javase/jp/6/api/java/net/DatagramPacket.html#DatagramPacket%28byte[],%20int,%20java.net.InetAddress,%20int%29
-演習の課題[UDPの送受信をやってみよう]
DendaiUDPClient DendaiUDPServerを改造して、「送信したメッセージを真逆にして返してくる」プログラム
あるいは「名前だけ切り出してYosoko Yourname!と返事をしてくる」プログラムを
かけ。送信時はDendaiUDPServer5000番ポート 返信時にはDendaiUDPClientの5001番ポートを指定すること。
--ヒント1文字列の切り出し
--http://docs.oracle.com/javase/jp/6/api/java/lang/String.html#split%28java.lang.String%29

--ヒント2文字列の反転 
  public String getName() {
        StringBuffer sb = new StringBuffer(name);
        name = sb.reverse().toString();
        return name;
    }
--http://docs.oracle.com/javase/jp/6/api/java/lang/StringBuffer.html#reverse%28%29
**(7)休講 [#u86f4ae8]

**(6)10/21 中間テスト [#w7481414]
--二重for文
--配列
--メソッド
--InetAddressクラスについての簡単な質問

-資料
#ref(MovingBallFaces.java);
#ref(netpro06.zip)
-課題~
MovingBallFacesを改造し自分のオリジナルの顔を表示せよ。~
第6回の提出フォルダに提出すること。

**(5)10/14 体育の日【授業実施日】 threading [#y22cc8bc]
-資料
#ref(netpro05.zip)
#ref(netpro2013_5.pdf)

-課題~
MovingBallを改造し3色以上の複数のボールを表示せよ。~
壁の跳ね返りを画面のサイズに修正せよ。~
コンソールに残り秒数をカウントダウンしてゲームが終了するようにThread.sleep()メソッドを用いよ。~
なお終了時間は20秒とせよ。~
第5回の提出フォルダに提出すること。
 ヒント
 Thread.sleep(1000);

**(4)10/7 Object指向プログラミング復習 ping InetAddress 配列 [#se9dc176]
-資料
#ref(netpro2013_4.pdf)
#ref(netpro04.zip)
#ref(FaceObjTestHint.java)

-http://docs.oracle.com/javase/jp/6/api/java/net/InetAddress.html#getByName(java.lang.String)
//#ref(FaceObj1.java)

-課題~
FaceObjTestを改良して二重for文、オブジェクトの配列を用いて作成せよ。~
第4回の提出フォルダに提出すること。
 ヒント
 FaceObj[] fobjs= new FaceObj[9];
 fobjs[i]= new FaceObj(x,y);
~
 ヒント
 色をつける。
 g.setColor(Color.pink);
 //g.setColor(Color.red);
 g.fillRect(xStart + (h * 1 / 3) - 20, yStart + (w * 1 / 3) - 10,10,10);
 g.setColor(Color.blue);
 //g.fillRoundRect()
 //g.fillOval()
 g.fillArc(xStart + (h * 1 / 3) - 10, yStart + (w * 1 / 3),eyeSize,eyeSize,0,300);
 g.setColor(Color.black);

**(3)9/30 初めてのソケット通信 復習3 method class 二重for文 graphics [#re335648]
-資料
#ref(netpro2013_3s.pdf)
#ref(src2013_3sjis.zip)
#ref(netpro03.zip)
#ref(FaceSample1.java)

-課題~
Facesを二重for文、methodを用いて作成せよ。~
第3回の提出フォルダに提出すること。

**(2)9/23 復習2 [#s1765e8c]
-資料
#ref(http://www.cps.im.dendai.ac.jp/files/classes/2013netpro/netpro2013_2.pdf)
#ref(src2013_2.zip)
#ref(NP.zip)
-http://mergedoc.sourceforge.jp/
-http://docs.oracle.com/javase/6/docs/api

-課題~
オリンピックが開催する2020年の自分の年齢と生まれた年の元号が表示されるプログラムを作成せよ。~
入力がq、0の場合は終了するようにせよ。~
入力した現在の年齢がマイナスおよび120歳以上の場合は再入力を促すようにせよ。~
なお元年(1年)を優先すること。

**(1)9/9 ガイダンス 導入 復習1 [#wcc31a37]
-資料
#ref(netpro2013_1.pdf)
#ref(src2013_1.zip)
-http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html

*日程 [#mc1f6082]
-http://www.soe.dendai.ac.jp/kyomu/portal/2013_schedule_t.pdf

--(7)10/28 休講
--休み  11/4 文化の日 
--(8)11/11 
--(9)11/18
--(10)11/25
--(11)12/2
--(12)12/9
--(13)12/16
--(14)12/23 学力考査
--休み  1/13 成人の日
--(15)1/20 最終課題優秀作品発表会 
※授業予定日に休講が有る場合は連絡します

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS