ゲスト[ログイン]

おおいしゆうのASミュージックスコア登録CGI

おおいしゆうが日々のフォルテール演奏の記録を書き続けるCGI(日記じゃないです。blogでもないです)

工画堂スタジオ 『スマイル☆シューター ~ふぁーすと☆ちけっと~』OHP

パルフェ10周年ポータル パルフェ10周年寄せ書き企画

Aozora Melodyのパーフェクト動画公開中!

日 (今日 最終日)
日 ~ 日 (全部)
フォルテール総合情報サイト
ASミュージック
ポータル

同曲演奏状況
CSV登録
工画堂スタジオ&ヤマサ 『スマイル☆シューター ~ふぁーすと☆ちけっと~』応援中!
工画堂スタジオ 『ソルフェージュ~La finale~』OHP
曲名スコア記録曲名スコア記録
天使の歌う小夜曲66561(96.38%)普通69063羽根のブランケットにつつまれて62573(98.11%)普通63776
涙がほおを流れても70970(98.33%)普通72173メロディー121947(91.39%)普通132237
小さな日常46524(90.63%)普通51336
今日は仕事で遅くなった上、かなり頭を使う仕事をしていたのでだいぶ疲れていました。

フォルテール、小夜曲羽根ブラはかなり際どい感じでしたがコースが相当楽だったので何とか頑張って演奏しました。涙→メロディー→日常ですが、何とか及第点が取れました。
名前: ひとこと:
この記事へのトラックバックURL: https://www.asmusic.jp/ASHARD/score/tb.cgi/yu-oishi/20080902手動トラックバック
opensslのライブラリを使ったネットワークプログラミングは通常のBSD socketプログラミングが出来ればほぼそのまま関数をちょっと追加したり置き換えたりするだけで対応できるの(しかしドキュメントが中途半端で辛いです)ですが、selectで入力を待つところが微妙におかしなことになっています。

冷静に考えるとSSL通信の検証や復号化のためにはバイト単位ではなくある程度大きな単位で読み込んだ上でないと出来ないので、SSL_readで1バイトとか細々と読み込むとSSLライブラリ内のバッファにはデータがあるけれどselectは反応しない、という事態は当然発生するのですが。

従ってSSL化したソケットをselectするときは同時にSSLのバッファにデータ残っていないか調べる必要があります。SSL_pending(SSL* ssl)関数でバッファに残っているデータのバイト数が取得できるので、

fd_set readfds;
int nfds;
struct timeval timeout;

nfds=SSLfileno(ssl)+1;
timeout.tv_sec=0;timeout.tv_usec=0;

while(1)
{
 FD_ZERO(&readfds);
 FD_SET(SSL_get_fd(ssl),&readfds);
 int pending=SSL_pending(ssl);
 if(!pending){select(nfds,&readfds,(fd_set*)0,(fd_set*)0,&timeout);};
 if(pending || FD_ISSET(SSLfileno(ssl),&readfds))
 {
  読み込み処理
 }
}

みたいなコーディングをすればいいようです。
名前: ひとこと:
この記事へのトラックバックURL: https://www.asmusic.jp/ASHARD/score/tb.cgi/yu-oishi/20080902_1手動トラックバック