<!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 210062 2005-07-11 03:52:38Z 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: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</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>

