comparison paper/chapter3.tex @ 27:a27c97e0bb15

add appendix
author sugi
date Wed, 04 Feb 2015 21:13:48 +0900
parents cefaf86da446
children
comparison
equal deleted inserted replaced
26:cefaf86da446 27:a27c97e0bb15
164 第1引数はMulticast DSMへのアクセスするためのkeyを指定できる。第2引数はマルチキャストアドレスを、第3引数はポート番号を、第4引数はネットワークインターフェイスを指定する。第5引数はSocketTypeを指定する。 164 第1引数はMulticast DSMへのアクセスするためのkeyを指定できる。第2引数はマルチキャストアドレスを、第3引数はポート番号を、第4引数はネットワークインターフェイスを指定する。第5引数はSocketTypeを指定する。
165 SocketTypeには、{\tt Sender}と{\tt Receiver}と{\tt Both}が存在する。{\tt Sender}を指定した場合は、第2引数で指定したマルチキャストアドレスに対して送信処理を行うスレッドを作成する。{\tt Receiver}を指定した場合は、第2引数で指定したマルチキャストアドレスに対して送信されたデータを受信するスレッドを作成する。{\tt Both}は、送受信両方のスレッドを作成する。 165 SocketTypeには、{\tt Sender}と{\tt Receiver}と{\tt Both}が存在する。{\tt Sender}を指定した場合は、第2引数で指定したマルチキャストアドレスに対して送信処理を行うスレッドを作成する。{\tt Receiver}を指定した場合は、第2引数で指定したマルチキャストアドレスに対して送信されたデータを受信するスレッドを作成する。{\tt Both}は、送受信両方のスレッドを作成する。
166 166
167 現在、Multicast Data Segmentは自動では作成されないため、ユーザー自身で作成する必要がある。 167 現在、Multicast Data Segmentは自動では作成されないため、ユーザー自身で作成する必要がある。
168 168
169 ソースコード \ref {src:MulticastStartCodeSegment}と\ref {src:MulticastIncrement}は実際にMulticast Data Segmentを利用した例題である。例題の内容はmulticast Data Segmentに対してtakeを行い、取得したデータをインクリメントして再びputを行うものである。 169 ソースコード \ref {src:MulticastStartCodeSegment}と\ref {src:MulticastIncrement}は実際にMulticast Data Segmentを利用した例題である。送信側では送信専用のmulticast DSMを作成し、それに対して数字データを10回putしている。
170 受信側では受信専用のmulticast DSMを作成し、送信されたDSを受け取り内容を表示している(ソースコード\ref {src:Receivemessage})。
170 171
171 Multicast DSMを作成する際のSocketTypeの引数はBothであるため、ReceiverとSender両方作成される。そのため、"multicast"というkeyに対してputを行うと、自分自身に対してもData Segmentがputされる。takeもまた同様に自分自身に対してもtakeが要求され、要求に対してreplyを返すことになる。
172 \begin{table}[htbp] 172 \begin{table}[htbp]
173 \lstinputlisting[label=src:MulticastStartCodeSegment, caption=multicast DSMの作成例]{source/MulticastStartCodeSegment.java} 173 \lstinputlisting[label=src:MulticastStartCodeSegment, caption=multicast DSの例題の送信側]{source/MulticastStartCodeSegment.java}
174 \end{table} 174 \end{table}
175 175
176 \begin{table}[htbp] 176 \begin{table}[htbp]
177 \lstinputlisting[label=src:MulticastIncrement, caption=multicast Data Segmentの使用例]{source/MulticastIncrement.java} 177 \lstinputlisting[label=src:MulticastIncrement, caption=multicast DSの例題の受信側]{source/MulticastIncrement.java}
178 \end{table} 178 \end{table}
179
180 \begin{table}[htbp]
181 \lstinputlisting[label=src:Receivemessage, caption=multicast DSMに対してsetKeyを行う]{source/ReceiveTask.java}
182 \end{table}