changeset 17:ce4e57fe652c

update chapter3
author e165727 <e165727@ie.u-ryukyu.ac.jp>
date Sun, 16 Feb 2020 01:20:18 +0900
parents 05eac76e8c24
children 4c121d8b0354
files Paper/chapter3.tex Paper/main.pdf
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/chapter3.tex	Sat Feb 15 21:20:45 2020 +0900
+++ b/Paper/chapter3.tex	Sun Feb 16 01:20:18 2020 +0900
@@ -48,6 +48,18 @@
 \item close(int fd) - close() は指定されたfile descreptorを閉じます.
 \end{itemize}
 
+
+\section{出力をSocketに書き込む際に起きた問題}
+Raku では標準出力をSocketに書き込む API が Raku 側からは提供されていない.
+
+そのため, 通常 Code \ref{Server} のようにEVALFILEを実行した際, 出力はそのまま Server 側の標準出力に返ってしまう.
+
+この問題を解決するために, Raku の NativeCall を用いて Cのライブラリを使用した.
+
+Code \ref{Server} の26行目で dup2() を用いて 標準出力に Socket の file descreptor を割り当て,
+その後 EVALFILE を実行することで出力を Client側に返すことに成功した.
+ 
+
 \section{通常実行との速度比較}
 今回は,提案手法での実行速度と通常実行での実行速度, この二つの速度の比較を行う
 題材として行うのはhelloworldを出力するだけのプログラムとフィボナッチ数列の例題である.
Binary file Paper/main.pdf has changed