MIRSMG3D-OSIN-0013 サーバとの情報送受信プログラム

MIRSMG3D サーバ情報取得プログラム
MIRSMG3D-OSIN-0013

改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2014.12.8 牛丸 牛丸 初版
A02 2015.1.15 牛丸 牛丸 プログラムの一部修正、送信テストプログラムの追加

### 目次

1.はじめに
2.サーバとの送受信データ
3.関数一覧
4.ファイル一覧
5.テストプログラム

### 1.はじめに

本ドキュメントは、MIRSAK競技においてサーバから送信されてくるデータの読み取りおよびサーバへの送信プログラムについて説明する。

### 2.サーバとの送受信データ

サーバからMIRSへの情報送信は SSH (scp) によるファイルコピーによって行われる。ファイルは、
/home/mirs/info ディレクトに送られる。

ファイル名 説明
info_invade.data 怪盗が競技場に侵入したことを示すファイル。ファイルの中身に意味はない。
info_capture.data 怪盗の風船が割られたことを示すファイル。ファイルの中身に意味はない。
info_thief.data 怪盗が宝を持ち出そうしている最新の部屋の番号が記載されているファイル。
info_treasure.data MIRSが確認した宝番号データを記録したファイル。

### 3.関数一覧

関数名 説明 戻り値
void server_info_init()
サーバからの送信情報および宝番号を初期化（削除）する。
なし
int server_info_invade();
怪盗が競技場に侵入したかをチェックする。
侵入したとき1、そうでないとき -1
int server_info_capture()
怪盗が確保されたか（風船が割られたか）をチェックする。
確保されたとき1、そうでないとき -1
int server_info_thief()
怪盗が宝を持ち出そうしている最新の部屋の番号をチェックする。前回のアクセスからデータ更新されたときのみ
その番号を帰す。
部屋番号、ただし情報が更新されていないとき -1
int server_info_treasure(int number)
MIRSが獲得した宝番号をサーバに送信する。引数に送信する番号を与える。
正常に送信できたとき0、出来なかったとき -1

### 4.ファイル一覧

ファイル名 説明
server_info.c
server_info_* が定義されているファイル
server_info.h
sever_info_* を extern 宣言する
server_info_test.c
データ受信（怪盗侵入、怪盗確保、盗品中の部屋番号）のテストプログラム
server_info_send_test.c
データ送信（宝番号）のテストプログラム

### 5.テストプロラム

server_info_* のテストプログラム

コンパイル方法

- cc -Wall -o server_info_test server_info.c server_info_test.c
- テスト方法
- 1. /home/mirs/info ディレクトリを作成する。

- 2. テストプログラムの実行　　　./server_info_test
- 3. テストプログラムを実行した状態で、/home/mirs/info ディレトリで以下のコマンドをたたく。

怪盗侵入確認 　touch info_invade.data
怪盗確保確認 　touch info_capture.data
怪盗のいる部屋番号の確認 　echo "2" > info_thief.data