<!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>AcceptorTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: AcceptorTest.java 327113 2005-10-21 06:59:15Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../org/apache/mina/examples/echoserver/package-summary.html">org.apache.mina.examples.echoserver</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.io.IOException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.net.InetAddress;
<a name="23" href="#23">23</a>  <strong>import</strong> java.net.ServerSocket;
<a name="24" href="#24">24</a>  <strong>import</strong> java.net.Socket;
<a name="25" href="#25">25</a>  <strong>import</strong> java.net.SocketTimeoutException;
<a name="26" href="#26">26</a>  <strong>import</strong> java.net.UnknownHostException;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong>import</strong> javax.net.ServerSocketFactory;
<a name="29" href="#29">29</a>  <strong>import</strong> javax.net.SocketFactory;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.commons.net.EchoTCPClient;
<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.commons.net.EchoUDPClient;
<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.mina.common.TransportType;
<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.mina.examples.echoserver.ssl.BogusSSLContextFactory;
<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.mina.examples.echoserver.ssl.SSLServerSocketFactory;
<a name="36" href="#36">36</a>  <strong>import</strong> org.apache.mina.examples.echoserver.ssl.SSLSocketFactory;
<a name="37" href="#37">37</a>  <strong>import</strong> org.apache.mina.io.IoAcceptor;
<a name="38" href="#38">38</a>  <strong>import</strong> org.apache.mina.io.filter.SSLFilter;
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>  <em>/**<em>*</em></em>
<a name="41" href="#41">41</a>  <em> * Tests echo server example.</em>
<a name="42" href="#42">42</a>  <em> * </em>
<a name="43" href="#43">43</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="44" href="#44">44</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="45" href="#45">45</a>  <em> */</em>
<a name="46" href="#46">46</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/examples/echoserver/AcceptorTest.html">AcceptorTest</a> <strong>extends</strong> <a href="../../../../../org/apache/mina/examples/echoserver/AbstractTest.html">AbstractTest</a>
<a name="47" href="#47">47</a>  {
<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../../../org/apache/mina/examples/echoserver/AcceptorTest.html">AcceptorTest</a>()
<a name="49" href="#49">49</a>      {
<a name="50" href="#50">50</a>      }
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> testTCP() throws Exception
<a name="53" href="#53">53</a>      {
<a name="54" href="#54">54</a>          EchoTCPClient client = <strong>new</strong> EchoTCPClient();
<a name="55" href="#55">55</a>          testTCP0( client );
<a name="56" href="#56">56</a>      }
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testTCPWithSSL() throws Exception
<a name="59" href="#59">59</a>      {
<a name="60" href="#60">60</a>          <em class="comment">// Add an SSL filter</em>
<a name="61" href="#61">61</a>          SSLFilter sslFilter =
<a name="62" href="#62">62</a>              <strong>new</strong> SSLFilter( BogusSSLContextFactory.getInstance( <strong>true</strong> ) );
<a name="63" href="#63">63</a>          IoAcceptor acceptor = registry.getIoAcceptor( TransportType.SOCKET );
<a name="64" href="#64">64</a>          acceptor.getFilterChain().addLast( <span class="string">"SSL"</span>, sslFilter );
<a name="65" href="#65">65</a>          
<a name="66" href="#66">66</a>          <em class="comment">// Create a commons-net socket factory</em>
<a name="67" href="#67">67</a>          SSLSocketFactory.setSslEnabled(<strong>true</strong>);
<a name="68" href="#68">68</a>          SSLServerSocketFactory.setSslEnabled(<strong>true</strong>);
<a name="69" href="#69">69</a>          org.apache.commons.net.SocketFactory factory = <strong>new</strong> org.apache.commons.net.SocketFactory() {
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>              <strong>private</strong> SocketFactory f = SSLSocketFactory.getSocketFactory();
<a name="72" href="#72">72</a>              <strong>private</strong> ServerSocketFactory ssf = SSLServerSocketFactory.getServerSocketFactory();
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>              <strong>public</strong> Socket createSocket( String arg0, <strong>int</strong> arg1 ) throws UnknownHostException, IOException
<a name="75" href="#75">75</a>              {
<a name="76" href="#76">76</a>                  <strong>return</strong> f.createSocket(arg0, arg1);
<a name="77" href="#77">77</a>              }
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>              <strong>public</strong> Socket createSocket( InetAddress arg0, <strong>int</strong> arg1 ) throws IOException
<a name="80" href="#80">80</a>              {
<a name="81" href="#81">81</a>                  <strong>return</strong> f.createSocket(arg0, arg1);
<a name="82" href="#82">82</a>              }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>              <strong>public</strong> Socket createSocket( String arg0, <strong>int</strong> arg1, InetAddress arg2, <strong>int</strong> arg3 ) throws UnknownHostException, IOException
<a name="85" href="#85">85</a>              {
<a name="86" href="#86">86</a>                  <strong>return</strong> f.createSocket(arg0, arg1, arg2, arg3);
<a name="87" href="#87">87</a>              }
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>              <strong>public</strong> Socket createSocket( InetAddress arg0, <strong>int</strong> arg1, InetAddress arg2, <strong>int</strong> arg3 ) throws IOException
<a name="90" href="#90">90</a>              {
<a name="91" href="#91">91</a>                  <strong>return</strong> f.createSocket(arg0, arg1, arg2, arg3);
<a name="92" href="#92">92</a>              }
<a name="93" href="#93">93</a>  
<a name="94" href="#94">94</a>              <strong>public</strong> ServerSocket createServerSocket( <strong>int</strong> arg0 ) throws IOException
<a name="95" href="#95">95</a>              {
<a name="96" href="#96">96</a>                  <strong>return</strong> ssf.createServerSocket(arg0);
<a name="97" href="#97">97</a>              }
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>              <strong>public</strong> ServerSocket createServerSocket( <strong>int</strong> arg0, <strong>int</strong> arg1 ) throws IOException
<a name="100" href="#100">100</a>             {
<a name="101" href="#101">101</a>                 <strong>return</strong> ssf.createServerSocket(arg0, arg1);
<a name="102" href="#102">102</a>             }
<a name="103" href="#103">103</a> 
<a name="104" href="#104">104</a>             <strong>public</strong> ServerSocket createServerSocket( <strong>int</strong> arg0, <strong>int</strong> arg1, InetAddress arg2 ) throws IOException
<a name="105" href="#105">105</a>             {
<a name="106" href="#106">106</a>                 <strong>return</strong> ssf.createServerSocket(arg0, arg1, arg2);
<a name="107" href="#107">107</a>             }
<a name="108" href="#108">108</a>             
<a name="109" href="#109">109</a>         };
<a name="110" href="#110">110</a>         
<a name="111" href="#111">111</a>         <em class="comment">// Create a echo client with SSL factory and test it.</em>
<a name="112" href="#112">112</a>         EchoTCPClient client = <strong>new</strong> EchoTCPClient();
<a name="113" href="#113">113</a>         client.setSocketFactory( factory );
<a name="114" href="#114">114</a>         testTCP0( client );
<a name="115" href="#115">115</a>     }
<a name="116" href="#116">116</a>     
<a name="117" href="#117">117</a>     <strong>private</strong> <strong>void</strong> testTCP0( EchoTCPClient client ) throws Exception
<a name="118" href="#118">118</a>     {
<a name="119" href="#119">119</a>         client.connect( InetAddress.getLocalHost(), port );
<a name="120" href="#120">120</a>         byte[] writeBuf = <strong>new</strong> byte[ 16 ];
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 10; i ++ )
<a name="123" href="#123">123</a>         {
<a name="124" href="#124">124</a>             fillWriteBuffer( writeBuf, i );
<a name="125" href="#125">125</a>             client.getOutputStream().write( writeBuf );
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>         client.setSoTimeout( 30000 );
<a name="129" href="#129">129</a> 
<a name="130" href="#130">130</a>         byte[] readBuf = <strong>new</strong> byte[ writeBuf.length ];
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 10; i ++ )
<a name="133" href="#133">133</a>         {
<a name="134" href="#134">134</a>             fillWriteBuffer( writeBuf, i );
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>             <strong>int</strong> readBytes = 0;
<a name="137" href="#137">137</a>             <strong>while</strong>( readBytes &lt; readBuf.length )
<a name="138" href="#138">138</a>             {
<a name="139" href="#139">139</a>                 <strong>int</strong> nBytes = client.getInputStream().read( readBuf,
<a name="140" href="#140">140</a>                         readBytes, readBuf.length - readBytes );
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a>                 <strong>if</strong>( nBytes &lt; 0 )
<a name="143" href="#143">143</a>                     fail( <span class="string">"Unexpected disconnection."</span> );
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>                 readBytes += nBytes;
<a name="146" href="#146">146</a>             }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>             assertEquals( writeBuf, readBuf );
<a name="149" href="#149">149</a>         }
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>         client.setSoTimeout( 500 );
<a name="152" href="#152">152</a> 
<a name="153" href="#153">153</a>         <strong>try</strong>
<a name="154" href="#154">154</a>         {
<a name="155" href="#155">155</a>             client.getInputStream().read();
<a name="156" href="#156">156</a>             fail( <span class="string">"Unexpected incoming data."</span> );
<a name="157" href="#157">157</a>         }
<a name="158" href="#158">158</a>         <strong>catch</strong>( SocketTimeoutException e )
<a name="159" href="#159">159</a>         {
<a name="160" href="#160">160</a>         }
<a name="161" href="#161">161</a> 
<a name="162" href="#162">162</a>         client.disconnect();
<a name="163" href="#163">163</a>     }
<a name="164" href="#164">164</a> 
<a name="165" href="#165">165</a>     <strong>public</strong> <strong>void</strong> testUDP() throws Exception
<a name="166" href="#166">166</a>     {
<a name="167" href="#167">167</a>         EchoUDPClient client = <strong>new</strong> EchoUDPClient();
<a name="168" href="#168">168</a>         client.open();
<a name="169" href="#169">169</a>         client.setSoTimeout( 3000 );
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>         byte[] writeBuf = <strong>new</strong> byte[ 16 ];
<a name="172" href="#172">172</a>         byte[] readBuf = <strong>new</strong> byte[ writeBuf.length ];
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>         client.setSoTimeout( 500 );
<a name="175" href="#175">175</a> 
<a name="176" href="#176">176</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; 10; i ++ )
<a name="177" href="#177">177</a>         {
<a name="178" href="#178">178</a>             fillWriteBuffer( writeBuf, i );
<a name="179" href="#179">179</a>             client.send( writeBuf, writeBuf.length, InetAddress
<a name="180" href="#180">180</a>                     .getLocalHost(), port );
<a name="181" href="#181">181</a> 
<a name="182" href="#182">182</a>             assertEquals( readBuf.length, client.receive( readBuf,
<a name="183" href="#183">183</a>                     readBuf.length ) );
<a name="184" href="#184">184</a>             assertEquals( writeBuf, readBuf );
<a name="185" href="#185">185</a>         }
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>         <strong>try</strong>
<a name="188" href="#188">188</a>         {
<a name="189" href="#189">189</a>             client.receive( readBuf );
<a name="190" href="#190">190</a>             fail( <span class="string">"Unexpected incoming data."</span> );
<a name="191" href="#191">191</a>         }
<a name="192" href="#192">192</a>         <strong>catch</strong>( SocketTimeoutException e )
<a name="193" href="#193">193</a>         {
<a name="194" href="#194">194</a>         }
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>         client.close();
<a name="197" href="#197">197</a>     }
<a name="198" href="#198">198</a> 
<a name="199" href="#199">199</a>     <strong>private</strong> <strong>void</strong> fillWriteBuffer( byte[] writeBuf, <strong>int</strong> i )
<a name="200" href="#200">200</a>     {
<a name="201" href="#201">201</a>         <strong>for</strong>( <strong>int</strong> j = writeBuf.length - 1; j >= 0; j -- )
<a name="202" href="#202">202</a>         {
<a name="203" href="#203">203</a>             writeBuf[ j ] = ( byte ) ( j + i );
<a name="204" href="#204">204</a>         }
<a name="205" href="#205">205</a>     }
<a name="206" href="#206">206</a> 
<a name="207" href="#207">207</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> main( String[] args )
<a name="208" href="#208">208</a>     {
<a name="209" href="#209">209</a>         junit.textui.TestRunner.run( AcceptorTest.<strong>class</strong> );
<a name="210" href="#210">210</a>     }
<a name="211" href="#211">211</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

