version 1.4, 2000/01/24 12:32:49 |
version 1.8, 2005/03/04 03:49:47 |
|
|
%% $OpenXM: OpenXM/doc/OpenXM-specs/start-session.tex,v 1.3 2000/01/24 02:48:24 noro Exp $ |
%% $OpenXM: OpenXM/doc/OpenXM-specs/start-session.tex,v 1.7 2002/01/20 09:26:22 takayama Exp $ |
//&jp \section{TCP/IP でのセッションのスタート} |
//&jp \section{TCP/IP でのセッションのスタート} |
//&eg \section{How to start a session on TCP/IP} |
//&eg \section{How to start a session on TCP/IP} |
|
|
Line 69 acts as a control server and controls the server proce |
|
Line 69 acts as a control server and controls the server proce |
|
itself. |
itself. |
*/ |
*/ |
|
|
//&jp \subsection{byte order の決定} |
//&jp \subsection{byte order の決定} \label{subsection:byteorder} |
//&eg \subsection{Negotiation of the byte order} |
//&eg \subsection{Negotiation of the byte order} \label{subsection:byteorder} |
/*&jp |
/*&jp |
コントロールプロセス, 計算プロセス |
コントロールプロセス, 計算プロセス |
ともに, 起動直後に |
ともに, 起動直後に |
Line 96 Network byte order しか実装していないシステムでは, |
|
Line 96 Network byte order しか実装していないシステムでは, |
|
{\tt 0} をおくればよい. |
{\tt 0} をおくればよい. |
ただし効率が問題となる通信において, network byte order への変換は |
ただし効率が問題となる通信において, network byte order への変換は |
おおきなボトルネックとなることがあることを了解しておくべきである. |
おおきなボトルネックとなることがあることを了解しておくべきである. |
|
|
|
64 bit machine double および 128 bit machine double (浮動小数点数) |
|
のやりとりに際しても, |
|
上と同様な方法をもちいるものとする. |
|
すなわち {\tt double64 *} を {\tt int32 *} にキャストしてから, |
|
中身を {\tt int32} と同様の処理方法で送受信する. |
|
例については {\tt CMO\_64BIT\_MACHINE\_DOUBLE} を見よ. |
*/ |
*/ |
/*&eg |
/*&eg |
A client and a server exchange one byte data soon after |
A client and a server exchange one byte data soon after |
Line 121 If a system implements only the network byte order, th |
|
Line 128 If a system implements only the network byte order, th |
|
it is sufficient to send always {\tt 0}. |
it is sufficient to send always {\tt 0}. |
However unnecessary byte order conversion may add large overhead |
However unnecessary byte order conversion may add large overhead |
and it is often a bottle-neck on fast networks. |
and it is often a bottle-neck on fast networks. |
|
|
|
In order to send and receive 64 bit machine double (floating point number) |
|
and 128 bit machine double, |
|
we use the same byte order. |
|
In other words, we cast {\tt double64 *} to {\tt int32 *} and |
|
send the array of 4 bytes by the same method with sending {\tt int32}. |
|
As to examples, see the section on {\tt CMO\_64BIT\_MACHINE\_DOUBLE}. |
*/ |
*/ |
|
|
\begin{verbatim} |
\begin{verbatim} |
Line 218 Byte order for engine process is network byte order. |
|
Line 232 Byte order for engine process is network byte order. |
|
\end{verbatim} |
\end{verbatim} |
} |
} |
|
|
|
//&jp \subsection{OX サーバの利用例} |
|
//&eg \subsection{Example of using OX servers} |
|
|
|
/*&jp |
|
ox サーバを TCP/IP で $C$ より利用する例は |
|
{\tt OpenXM/doc/oxlib/test1-tcp.c} にある. |
|
*/ |
|
/*&eg |
|
An sample C source code to use ox servers by TCP/IP can be found |
|
in {\tt OpenXM/doc/oxlib/test1-tcp.c}. |
|
*/ |