モバイルプログラミング 第8回演習 本日の演習の流れ 1. 山手線プログラムの概要の解説 2. 課題1を終らし、山手線プログラムを完成 させる. 3. みんなの PC で山手線でGo!! 山手線プログラムって? 1/4 • 分散プログラミング – 複数の PC に処理を分散 • 山手線プログラム – 電車(の描画処理)が複数の PC で処理される 処理 ホストA 処理 ホストB ホストC 山手線プログラムって? 2/4 • イメージ – 電車がホストAからホストBへ移動して行く ホストA ホストB 山手線プログラムって? 3/4 サーバ クライアント1 クライアント2 描画処理終了 接続先 IP 問い合わせ 接続先 IP 返答 受け取った IPに接続 描画処理 開始 、、、 山手線プログラムって? 4/4 机 課題 • 課題1 – – – – 現在の山手線プログラムは未完成 自分の次の PC の IP がわからない IP がわからないと通信できない 自分の次の PC の IP をサーバから取得し、接 続に用いるコードを追加しよう – 自分の隣の PC の IP は認証サーバから取得 – この時間中に終らそう!! コード概要 1/4 • コンパイル方法 – – – – – – コンソール上で、、、 javac jp/ac/keio/sfc/ht/mobile/yamanote/client/*.java javac jp/ac/keio/sfc/ht/mobile/yamanote/serever/*.java javac jp/ac/keio/sfc/ht/mobile/yamanote/util/*.java javac jp/ac/keio/sfc/ht/mobile/yamanote/connect/*.java javac jp/ac/keio/sfc/ht/mobile/yamanote/connect/socket/*.java • 実行方法 – サーバ – java jp/ac/keio/sfc/ht/mobile/yamanote/server/Main port番号 – クライアント – java jp/ac/keio/sfc/ht/mobile/yamanote/client/Main serverIP port番号 コード概要 2/4 • 次に接続するホストの IP を取得するメソッド – jp/ac/keio/sfc/ht/mobile/client/ServerConnection.java にある next() で処理 – String next():次のホストの IP を返り値として返す • 次ホストへ情報を渡すメソッド – jp/ac/keio/sfc/ht/mobile/client/YamanoteCanvas.java に ある passToken()で処理 – peer.passToken(next):引数 next へ接続先 IP を渡す コード概要 3/4 • jp/ac/keio/sfc/ht/mobile/client/YamanoteCanvas.ja va ・ ・ ServerConnection sender; String next; ・ ・ public void passToken(){ ・ ・ sender = new ServerConnection(server_addr, port); ・ ・ ・ System.out.println("next :"+next); peer.passToken(next);//次の接続先の IP を next として渡してあげる } が、next には何も値が代入されていない! next に次のホストの IP を代入してあげよう コード概要 4/4 • JAVAにおける他クラスのメソッドの呼び方 – メソッド : インスタンスメソッドとスタティックメソッドの二種類 – インスタンスメソッドで呼び出す場合 • new でインスタンスを作成 • “インスタンス名 . メソッド名” で呼び出し可能 – ServerConnection クラスのメソッドを呼び出したい場合は、、、 ServerConnection sender; sender = new ServerConnection(server_addr, port); で準備(インスタンス生成)完了 – この場合で next メソッドを呼び出したいときは sender.next(); 全員で山手線演習 • SA の PC をサーバとする • それぞれクライアントを実行し SA の PC へ 接続 • サーバの IP と待ち受け Port は、、、
© Copyright 2025 ExpyDoc