<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Main xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/examples/tennis/Main.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> * @(#) $Id: Main.java 165577 2005-05-02 04:22:31Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> */</em>
<a name="4" href="#4">4</a>   <strong>package</strong> <a href="../../../../../org/apache/mina/examples/tennis/package-summary.html">org.apache.mina.examples.tennis</a>;
<a name="5" href="#5">5</a>   
<a name="6" href="#6">6</a>   <strong>import</strong> org.apache.mina.common.TransportType;
<a name="7" href="#7">7</a>   <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="8" href="#8">8</a>   <strong>import</strong> org.apache.mina.protocol.vmpipe.VmPipeAddress;
<a name="9" href="#9">9</a>   <strong>import</strong> org.apache.mina.protocol.vmpipe.VmPipeConnector;
<a name="10" href="#10">10</a>  <strong>import</strong> org.apache.mina.registry.Service;
<a name="11" href="#11">11</a>  <strong>import</strong> org.apache.mina.registry.ServiceRegistry;
<a name="12" href="#12">12</a>  <strong>import</strong> org.apache.mina.registry.SimpleServiceRegistry;
<a name="13" href="#13">13</a>  
<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
<a name="15" href="#15">15</a>  <em> * (&lt;b>Entry point&lt;/b>) An 'in-VM pipe' example which simulates a tennis game</em>
<a name="16" href="#16">16</a>  <em> * between client and server.</em>
<a name="17" href="#17">17</a>  <em> * &lt;ol></em>
<a name="18" href="#18">18</a>  <em> *   &lt;li>Client connects to server&lt;/li></em>
<a name="19" href="#19">19</a>  <em> *   &lt;li>At first, client sends {@link TennisBall} with TTL value '10'.&lt;/li></em>
<a name="20" href="#20">20</a>  <em> *   &lt;li>Received side (either server or client) decreases the TTL value of the</em>
<a name="21" href="#21">21</a>  <em> *     received ball, and returns it to remote peer.&lt;/li></em>
<a name="22" href="#22">22</a>  <em> *   &lt;li>Who gets the ball with 0 TTL loses.&lt;/li></em>
<a name="23" href="#23">23</a>  <em> * &lt;/ol> </em>
<a name="24" href="#24">24</a>  <em> * </em>
<a name="25" href="#25">25</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="26" href="#26">26</a>  <em> * @version $Rev: 165577 $, $Date: 2005-05-02 13:22:31 +0900 (월, 02  5월 2005) $</em>
<a name="27" href="#27">27</a>  <em> */</em>
<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/examples/tennis/Main.html">Main</a>
<a name="29" href="#29">29</a>  {
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main( String[] args ) throws Exception
<a name="32" href="#32">32</a>      {
<a name="33" href="#33">33</a>          ServiceRegistry registry = <strong>new</strong> SimpleServiceRegistry();
<a name="34" href="#34">34</a>  
<a name="35" href="#35">35</a>          VmPipeAddress address = <strong>new</strong> VmPipeAddress( 8080 );
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>          <em class="comment">// Set up server</em>
<a name="38" href="#38">38</a>          Service service = <strong>new</strong> Service( <span class="string">"tennis"</span>, TransportType.VM_PIPE, address );
<a name="39" href="#39">39</a>          registry.bind( service, <strong>new</strong> TennisPlayer() );
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>          <em class="comment">// Connect to the server.</em>
<a name="42" href="#42">42</a>          VmPipeConnector connector = <strong>new</strong> VmPipeConnector();
<a name="43" href="#43">43</a>          ProtocolSession session = connector.connect( address,
<a name="44" href="#44">44</a>                                                       <strong>new</strong> <a href="../../../../../org/apache/mina/examples/tennis/TennisPlayer.html">TennisPlayer</a>() );
<a name="45" href="#45">45</a>  
<a name="46" href="#46">46</a>          <em class="comment">// Send the first ping message</em>
<a name="47" href="#47">47</a>          session.write( <strong>new</strong> TennisBall( 10 ) );
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>          <em class="comment">// Wait until the match ends.</em>
<a name="50" href="#50">50</a>          <strong>while</strong>( session.isConnected() )
<a name="51" href="#51">51</a>          {
<a name="52" href="#52">52</a>              Thread.sleep( 100 );
<a name="53" href="#53">53</a>          }
<a name="54" href="#54">54</a>          
<a name="55" href="#55">55</a>          registry.unbind( service );
<a name="56" href="#56">56</a>      }
<a name="57" href="#57">57</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

