Hengband
2.2.1
|
スコアサーバ転送機能の実装 [詳解]
#include "angband.h"
#include "util.h"
#include "core.h"
#include "inet.h"
#include "dungeon.h"
#include "floor.h"
#include "player-status.h"
#include "player-class.h"
#include "player-race.h"
#include "player-personality.h"
#include "files.h"
#include "world.h"
#include "realm.h"
#include "term.h"
#include "view-mainwindow.h"
#include <stdio.h>
#include <stdarg.h>
#include <ctype.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/time.h>
#include <setjmp.h>
#include <signal.h>
データ構造 | |
struct | BUF |
マクロ定義 | |
#define | _GNU_SOURCE |
未使用 [詳解] | |
#define | HTTP_PROXY "" |
デフォルトのプロキシURL / Default proxy url [詳解] | |
#define | HTTP_PROXY_PORT 0 |
デフォルトのプロキシポート / Default proxy port [詳解] | |
#define | HTTP_TIMEOUT 20 |
デフォルトのタイムアウト時間(秒) / Timeout length (second) [詳解] | |
#define | SCORE_SERVER "hengband.osdn.jp" |
デフォルトのスコアサーバURL / Default score server url [詳解] | |
#define | SCORE_PORT 80 |
デフォルトのスコアサーバポート / Default score server port [詳解] | |
#define | SCORE_PATH "http://moon.kmc.gr.jp/hengband/hengscore-en/score.cgi" |
スコア開示URL [詳解] | |
#define | BUFSIZE (65536) |
スコアサーバ転送バッファサイズ [詳解] | |
関数 | |
static BUF * | buf_new (void) |
転送用バッファの確保 [詳解] | |
static void | buf_delete (BUF *b) |
転送用バッファの解放 [詳解] | |
static int | buf_append (BUF *buf, concptr data, size_t size) |
転送用バッファにデータを追加する [詳解] | |
static int | buf_sprintf (BUF *buf, concptr fmt,...) |
転送用バッファにフォーマット指定した文字列データを追加する [詳解] | |
static bool | http_post (int sd, concptr url, BUF *buf) |
HTTPによるダンプ内容伝送 [詳解] | |
static errr | make_dump (BUF *dumpbuf) |
キャラクタダンプを作って BUFに保存 [詳解] | |
concptr | make_screen_dump (void) |
スクリーンダンプを作成する/ Make screen dump to buffer [詳解] | |
errr | report_score (void) |
スコア転送処理のメインルーチン [詳解] | |
変数 | |
concptr | screen_dump = NULL |
スコアサーバ転送機能の実装
#define _GNU_SOURCE |
未使用
#define BUFSIZE (65536) |
スコアサーバ転送バッファサイズ
#define HTTP_PROXY "" |
デフォルトのプロキシURL / Default proxy url
#define HTTP_PROXY_PORT 0 |
デフォルトのプロキシポート / Default proxy port
#define HTTP_TIMEOUT 20 |
デフォルトのタイムアウト時間(秒) / Timeout length (second)
#define SCORE_PATH "http://moon.kmc.gr.jp/hengband/hengscore-en/score.cgi" |
スコア開示URL
#define SCORE_PORT 80 |
デフォルトのスコアサーバポート / Default score server port
#define SCORE_SERVER "hengband.osdn.jp" |
デフォルトのスコアサーバURL / Default score server url
転送用バッファにデータを追加する
buf | 追加先バッファの参照ポインタ |
data | 追加元データ |
size | 追加サイズ |
|
static |
転送用バッファの解放
b | 解放するバッファの参照ポインタ |
|
static |
転送用バッファの確保
転送用バッファにフォーマット指定した文字列データを追加する
buf | 追加先バッファの参照ポインタ |
fmt | 文字列フォーマット |
HTTPによるダンプ内容伝送
sd | ソケットID |
url | 伝送先URL |
buf | 伝送内容バッファ |
キャラクタダンプを作って BUFに保存
dumpbuf | 伝送内容バッファ |
concptr make_screen_dump | ( | void | ) |
スクリーンダンプを作成する/ Make screen dump to buffer
errr report_score | ( | void | ) |
スコア転送処理のメインルーチン