﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-梦幻之旅-随笔分类-java Net</title><link>http://www.blogjava.net/hwpok/category/49497.html</link><description>DEBUG - 天道酬勤</description><language>zh-cn</language><lastBuildDate>Fri, 21 Oct 2011 19:08:37 GMT</lastBuildDate><pubDate>Fri, 21 Oct 2011 19:08:37 GMT</pubDate><ttl>60</ttl><item><title>TCP一点东东</title><link>http://www.blogjava.net/hwpok/archive/2011/10/22/361772.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Fri, 21 Oct 2011 16:51:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/10/22/361772.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/361772.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/10/22/361772.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/361772.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/361772.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package&nbsp;org.upeng.mail.net.server;import&nbsp;java.io.BufferedReader;import&nbsp;java.io.Buffered...&nbsp;&nbsp;<a href='http://www.blogjava.net/hwpok/archive/2011/10/22/361772.html'>阅读全文</a><img src ="http://www.blogjava.net/hwpok/aggbug/361772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-10-22 00:51 <a href="http://www.blogjava.net/hwpok/archive/2011/10/22/361772.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)MINA2 之IoBuffer </title><link>http://www.blogjava.net/hwpok/archive/2011/09/05/357953.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Sun, 04 Sep 2011 16:40:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/05/357953.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357953.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/05/357953.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357953.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357953.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->最近做的一个项目用到了开源的C/S应用的服务器框架MINA，当初做的时候资料非常少，只能自己不停的测试，总结出了一些规律经验。从网上看的资料上看，这个服务器框架还是比较稳定和支持的并发数还是很不错的，不过...&nbsp;&nbsp;<a href='http://www.blogjava.net/hwpok/archive/2011/09/05/357953.html'>阅读全文</a><img src ="http://www.blogjava.net/hwpok/aggbug/357953.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-05 00:40 <a href="http://www.blogjava.net/hwpok/archive/2011/09/05/357953.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)Mina 框架总结</title><link>http://www.blogjava.net/hwpok/archive/2011/09/04/357931.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Sat, 03 Sep 2011 18:28:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/09/04/357931.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357931.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/09/04/357931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357931.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357931.html</trackback:ping><description><![CDATA[<p>简单介绍：MINA框架是对java的NIO包的一个封装，简化了NIO程序开发的难度，封装了很多底层的细节，然开发者把精力集中到业务逻辑上来，最近做了一个相关的项目，为了备忘对MINA做一个总结。</p>
<p>下面这个start方法用来初始化MINA：</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a title="复制代码" href="http://javag.javaeye.com/blog/221595#"  false;?="" ?="dp.sh.toolbar.command('copytoclipboard',this); return="><img style="cursor: pointer" onclick="javascript:window.open(this.src);" src="http://javag.javaeye.com/images/icon_copy.gif" onload="rsimg(this,500)"></a></div></div>
<ol class="dp-j"><li><span class="keyword"><strong><span style="color: #7f0055">private</span></strong></span>&nbsp;<span class="keyword"><strong><span style="color: #7f0055">void</span></strong></span>&nbsp;start(<span class="keyword"><strong><span style="color: #7f0055">int</span></strong></span>&nbsp;port,&nbsp;WebContext&nbsp;ctx)&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword"><strong><span style="color: #7f0055">throws</span></strong></span>&nbsp;IOException,&nbsp;InstantiationException &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,&nbsp;IllegalAccessException,&nbsp;ClassNotFoundException&nbsp;{ &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008200" class="comment">//初始化Acceptor </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;NioSocketAcceptor&nbsp;acceptor&nbsp;=&nbsp;<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;NioSocketAcceptor(<span style="color: #c00000" class="number">5</span>); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.util.concurrent.Executor&nbsp;threadPool&nbsp;=&nbsp;Executors.newFixedThreadPool(<span style="color: #c00000" class="number">1500</span>);<span style="color: #008200" class="comment">//建立线程池 </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008200" class="comment">//加入过滤器（Filter）到Acceptor </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.getFilterChain().addLast(<span style="color: #0000ff" class="string">"exector"</span>,&nbsp;<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;ExecutorFilter(threadPool)); &nbsp;&nbsp;</li><li>acceptor.getFilterChain().addLast(<span style="color: #0000ff" class="string">"codec"</span>,&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;ProtocolCodecFilter(<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;WebDecoder()，<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;WebEncoder())); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LoggingFilter&nbsp;filter&nbsp;=&nbsp;<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;LoggingFilter(); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setExceptionCaughtLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setMessageReceivedLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setMessageSentLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setSessionClosedLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setSessionCreatedLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setSessionIdleLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;filter.setSessionOpenedLogLevel(LogLevel.DEBUG); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;acceptor.getFilterChain().addLast(<span style="color: #0000ff" class="string">"logger"</span>,&nbsp;filter);&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.setReuseAddress(<span class="keyword"><strong><span style="color: #7f0055">true</span></strong></span>);<span style="color: #008200" class="comment">//设置的是主服务监听的端口可以重用 </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.getSessionConfig().setReuseAddress(<span class="keyword"><strong><span style="color: #7f0055">true</span></strong></span>);<span style="color: #008200" class="comment">//设置每一个非主监听连接的端口可以重用 </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.getSessionConfig().setReceiveBufferSize(<span style="color: #c00000" class="number">1024</span>);<span style="color: #008200" class="comment">//设置输入缓冲区的大小 </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.getSessionConfig().setSendBufferSize(<span style="color: #c00000" class="number">10240</span>);<span style="color: #008200" class="comment">//设置输出缓冲区的大小 </span>&nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">//设置为非延迟发送，为true则不组装成大包发送，收到东西马上发出 </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.getSessionConfig().setTcpNoDelay(<span class="keyword"><strong><span style="color: #7f0055">true</span></strong></span>); &nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">//设置主服务监听端口的监听队列的最大值为100，如果当前已经有100个连接，再新的连接来将被服务器拒绝 </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.setBacklog(<span style="color: #c00000" class="number">100</span>); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.setDefaultLocalAddress(<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;InetSocketAddress(port)); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008200" class="comment">//加入处理器（Handler）到Acceptor </span>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acceptor.setHandler(<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;WebHandler()); &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;acceptor.bind(); &nbsp;&nbsp;</li><li>}&nbsp;&nbsp;</li></ol></div>
<p>&nbsp;NioSocketAcceptor是MINA的适配器，一切都是从这里开始的。MINA中有个过滤器和处理器的概念，过滤器用来过滤数据，处理器用来处理数据。具体来说MINA的处理模型就是request-&gt;过滤器A-&gt;过滤器B-&gt;处理器-&gt;过滤器B-&gt;过滤器A-&gt;response,这里的request和response类似serlvet的request和response。</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a title="复制代码" href="http://javag.javaeye.com/blog/221595#"  false;?="" ?="dp.sh.toolbar.command('copytoclipboard',this); return="><img style="cursor: pointer" onclick="javascript:window.open(this.src);" src="http://javag.javaeye.com/images/icon_copy.gif" onload="rsimg(this,500)"></a></div></div>
<ol class="dp-j"><li>acceptor.getFilterChain().addLast(<span style="color: #0000ff" class="string">"exector"</span>,&nbsp;<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;ExecutorFilter(threadPool)); &nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">//加入一个线程池到适配器，这里用的是jdk自带的线程池</span>&nbsp;&nbsp;</li></ol></div>&nbsp; 
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a title="复制代码" href="http://javag.javaeye.com/blog/221595#"  false;?="" ?="dp.sh.toolbar.command('copytoclipboard',this); return="><img style="cursor: pointer" onclick="javascript:window.open(this.src);" src="http://javag.javaeye.com/images/icon_copy.gif" onload="rsimg(this,500)"></a></div></div>
<ol class="dp-j"><li>&nbsp;acceptor.getFilterChain().addLast(<span style="color: #0000ff" class="string">"codec"</span>,&nbsp; &nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;ProtocolCodecFilter(<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;WebDecoder()，<span class="keyword"><strong><span style="color: #7f0055">new</span></strong></span>&nbsp;WebEncoder())); &nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">//这里是处理逻辑的关键部位，请求的处理都是在 WebDecoder类和WebEncoder类中处理，可以明显从命名上看出来一个是用来解码，另一个是用来编码，requet过来后先进入 WebDecoder类(实现了ProtocolDecoder接口)进行解码处理，这里可以加入自己的逻辑把传进来的流解码成自己需要的信息。而 WebEncoder类(实现了ProtocolEncoder接口)是进行编码，在这个类里面加入自己的逻辑把处理后的信息组装发送给客户端 (response)。而在解码和编码过程中WebHandler(扩展了IoHandlerAdapter抽象类)起到了处理器的作用。 </span>&nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">//request-&gt;WebDecoder-&gt;WebHandler-&gt;WebEncode-&gt;response</span>&nbsp;&nbsp;</li></ol></div>
<p>&nbsp;</p>
<p>现在详细描述一下request-&gt;WebDecoder-&gt;WebHandler-&gt;WebEncode-&gt;response的过程：</p>
<p>客户端发送一个请求到MINA服务器，这里相当于来了一个requet。请求首先来到</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a title="复制代码" href="http://javag.javaeye.com/blog/221595#"  false;?="" ?="dp.sh.toolbar.command('copytoclipboard',this); return="><img style="cursor: pointer" onclick="javascript:window.open(this.src);" src="http://javag.javaeye.com/images/icon_copy.gif" onload="rsimg(this,500)"></a></div></div>
<ol class="dp-j"><li>WebDecoder类(实现了ProtocolDecoder接口)中的&nbsp; &nbsp;&nbsp;</li><li><span class="keyword"><strong><span style="color: #7f0055">boolean</span></strong></span>&nbsp;decode(IoSession&nbsp;session,&nbsp;IoBuffer&nbsp;in,&nbsp;ProtocolDecoderOutput&nbsp;out)&nbsp;<span class="keyword"><strong><span style="color: #7f0055">throws</span></strong></span>&nbsp;Exception{}方法 &nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">/* </span>&nbsp;</li><li><span style="color: #008200" class="comment">参数in：用户请求信息全存在这里，读数据就从in这里读。 </span>&nbsp;</li><li><span style="color: #008200" class="comment">参数out：用来输出处理后的数据到Filter的下一个过滤器，如果没有过滤器了就输出到WebHandler，这里有点和 </span>&nbsp;</li><li><span style="color: #008200" class="comment">servelt的过滤器类似。利用out.write(Object&nbsp;object);这个函数可以把数据传到下一个Filter。我们可以自己定义 </span>&nbsp;</li><li><span style="color: #008200" class="comment">一个对象，我们假设为Request，用它来传递消息，那末这里就可以写成out.write(new&nbsp;RequsetMessage()); </span>&nbsp;</li><li><span style="color: #008200" class="comment">如果这个方法返回false，就是说当前逻辑包还没接收完（也就是当前的IoBuffer并没有包含足够的数据），需要再次 </span>&nbsp;</li><li><span style="color: #008200" class="comment">执行decode方法（再次获取新的IoBuffer），用来获取足够的数据。如果返回值为true就表示可以不执行decode方 </span>&nbsp;</li><li><span style="color: #008200" class="comment">法了，但是要激活handler方法，必须要调用out.write方法。 </span>&nbsp;</li><li><span style="color: #008200" class="comment">public&nbsp;class&nbsp;RequestMessage{}//这里什么也不做 </span>&nbsp;</li><li><span style="color: #008200" class="comment">*/</span>&nbsp;&nbsp;</li></ol></div>
<p>&nbsp;然后到</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a title="复制代码" href="http://javag.javaeye.com/blog/221595#"  false;?="" ?="dp.sh.toolbar.command('copytoclipboard',this); return="><img style="cursor: pointer" onclick="javascript:window.open(this.src);" src="http://javag.javaeye.com/images/icon_copy.gif" onload="rsimg(this,500)"></a></div></div>
<ol class="dp-j"><li>WebHandler(扩展了IoHandlerAdapter抽象类)中的 &nbsp;&nbsp;</li><li><span class="keyword"><strong><span style="color: #7f0055">void</span></strong></span>&nbsp;messageReceived(IoSession&nbsp;session,&nbsp;Object&nbsp;message)&nbsp;<span class="keyword"><strong><span style="color: #7f0055">throws</span></strong></span>&nbsp;Exception{}方法 &nbsp;&nbsp;</li><li>WriteFuture&nbsp;future&nbsp;=&nbsp;session.write(response);<span style="color: #008200" class="comment">//session中必须加入这个代码，才会激活encode方法 </span>&nbsp;&nbsp;</li><li>future.addListener(IoFutureListener.CLOSE);<span style="color: #008200" class="comment">//这个的作用是发送完毕后关闭连接，加了就是短连接，不然是长连接 </span>&nbsp;&nbsp;</li><li>IoFutureListener里面有个operationComplete(IoFuture&nbsp;future)方法，当流发送完成之后才调用这个方法。 &nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">/* </span>&nbsp;</li><li><span style="color: #008200" class="comment">参数message：用来获取Filter传递过来的对象.对应代码RequestMessage&nbsp;request&nbsp;=&nbsp;(RequestMessage)&nbsp;message; </span>&nbsp;</li><li><span style="color: #008200" class="comment">参数session:用来发送数据到Filter.对应代码session.write(new&nbsp;ResponseMessage()); </span>&nbsp;</li><li><span style="color: #008200" class="comment">public&nbsp;class&nbsp;ResponseMessage{}//这里什么也不做,假设存放处理后的数据 </span>&nbsp;</li><li><span style="color: #008200" class="comment">注意：对于一个MINA程序而言，对于WebHandler类只生成一个对象，所以要考虑线程安全问题 </span>&nbsp;</li><li><span style="color: #008200" class="comment">&nbsp;*/</span>&nbsp;&nbsp;</li></ol></div>&nbsp; 
<p>然后到</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Java代码 <a title="复制代码" href="http://javag.javaeye.com/blog/221595#"  false;?="" ?="dp.sh.toolbar.command('copytoclipboard',this); return="><img style="cursor: pointer" onclick="javascript:window.open(this.src);" src="http://javag.javaeye.com/images/icon_copy.gif" onload="rsimg(this,500)"></a></div></div>
<ol class="dp-j"><li>WebEncoder类(实现了ProtocolEncoder接口)中的 &nbsp;&nbsp;</li><li><span class="keyword"><strong><span style="color: #7f0055">boolean</span></strong></span>&nbsp;encode(IoSession&nbsp;session,&nbsp;Object&nbsp;message,&nbsp;ProtocolEncoderOutput&nbsp;out)&nbsp;<span class="keyword"><strong><span style="color: #7f0055">throws</span></strong></span>&nbsp;Exception{}&nbsp; &nbsp;&nbsp;</li><li>方法 &nbsp;&nbsp;</li><li><span style="color: #008200" class="comment">/* </span>&nbsp;</li><li><span style="color: #008200" class="comment">参数message：用来获取上一个Filter节点的数据或者处理器的数据（如果这个过滤器为最靠近处理器的那个） </span>&nbsp;</li><li><span style="color: #008200" class="comment">ResponseMessage&nbsp;response&nbsp;=&nbsp;(ResponseMessage)message; </span>&nbsp;</li><li><span style="color: #008200" class="comment">参数out：用来输出数据到下一个Filter节点过或者到客户端,用out.write(Object&nbsp;encodedMessage)把数据发送 </span>&nbsp;</li><li><span style="color: #008200" class="comment">出去，但是要注意的是，如果这个Filter下一个节点如果是客户端的话，那个这个encodedMessage数据必须为 </span>&nbsp;</li><li><span style="color: #008200" class="comment">IoBuffer类型的，可以利用IoBuffer.wrap(byte[]&nbsp;byteArray)这个方法来格式化输出数据 </span>&nbsp;</li><li><span style="color: #008200" class="comment">*/</span>&nbsp;&nbsp;</li></ol></div><img src ="http://www.blogjava.net/hwpok/aggbug/357931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-09-04 02:28 <a href="http://www.blogjava.net/hwpok/archive/2011/09/04/357931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>socketPool</title><link>http://www.blogjava.net/hwpok/archive/2011/08/30/357594.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Tue, 30 Aug 2011 10:01:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/30/357594.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357594.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/30/357594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357594.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;example.helloword.client;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.concurrent.ExecutorService;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.concurrent.Executors;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.concurrent.Future;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SendMsgPool<br /><img id="Codehighlighter1_181_834_Open_Image" onclick="this.style.display='none'; Codehighlighter1_181_834_Open_Text.style.display='none'; Codehighlighter1_181_834_Closed_Image.style.display='inline'; Codehighlighter1_181_834_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_181_834_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_181_834_Closed_Text.style.display='none'; Codehighlighter1_181_834_Open_Image.style.display='inline'; Codehighlighter1_181_834_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_181_834_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_181_834_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;SendMsgPool&nbsp;sendMsgPool&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SendMsgPool();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ExecutorService&nbsp;pool;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;SendMsgPool()<br /><img id="Codehighlighter1_321_375_Open_Image" onclick="this.style.display='none'; Codehighlighter1_321_375_Open_Text.style.display='none'; Codehighlighter1_321_375_Closed_Image.style.display='inline'; Codehighlighter1_321_375_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_321_375_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_321_375_Closed_Text.style.display='none'; Codehighlighter1_321_375_Open_Image.style.display='inline'; Codehighlighter1_321_375_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_321_375_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_321_375_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Executors.newFixedThreadPool(</span><span style="color: #000000">3</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;SendMsgPool&nbsp;getInstance()<br /><img id="Codehighlighter1_430_464_Open_Image" onclick="this.style.display='none'; Codehighlighter1_430_464_Open_Text.style.display='none'; Codehighlighter1_430_464_Closed_Image.style.display='inline'; Codehighlighter1_430_464_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_430_464_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_430_464_Closed_Text.style.display='none'; Codehighlighter1_430_464_Open_Image.style.display='inline'; Codehighlighter1_430_464_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_430_464_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_430_464_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sendMsgPool;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Future</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;sendMsg(String&nbsp;local,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;port,&nbsp;String&nbsp;msg)<br /><img id="Codehighlighter1_545_758_Open_Image" onclick="this.style.display='none'; Codehighlighter1_545_758_Open_Text.style.display='none'; Codehighlighter1_545_758_Closed_Image.style.display='inline'; Codehighlighter1_545_758_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_545_758_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_545_758_Closed_Text.style.display='none'; Codehighlighter1_545_758_Open_Image.style.display='inline'; Codehighlighter1_545_758_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_545_758_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_545_758_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClinetSocket&nbsp;clientScoket&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ClientSocketPool.getInstance()<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getClientSocket(local,&nbsp;port);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClientTread&nbsp;ct&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ClientTread(clientScoket,&nbsp;msg);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;pool.submit(ct);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;shutDown()<br /><img id="Codehighlighter1_796_832_Open_Image" onclick="this.style.display='none'; Codehighlighter1_796_832_Open_Text.style.display='none'; Codehighlighter1_796_832_Closed_Image.style.display='inline'; Codehighlighter1_796_832_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_796_832_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_796_832_Closed_Text.style.display='none'; Codehighlighter1_796_832_Open_Image.style.display='inline'; Codehighlighter1_796_832_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_796_832_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_796_832_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.pool.shutdown();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p>&nbsp;</p> <img src ="http://www.blogjava.net/hwpok/aggbug/357594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-30 18:01 <a href="http://www.blogjava.net/hwpok/archive/2011/08/30/357594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apache mina框架小试</title><link>http://www.blogjava.net/hwpok/archive/2011/08/30/357563.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Tue, 30 Aug 2011 05:11:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/30/357563.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357563.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/30/357563.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357563.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357563.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.server Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package&nbsp;server;import&nbsp;java.net.InetSocketAddress;import&nbsp;org.apache.mina.core...&nbsp;&nbsp;<a href='http://www.blogjava.net/hwpok/archive/2011/08/30/357563.html'>阅读全文</a><img src ="http://www.blogjava.net/hwpok/aggbug/357563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-30 13:11 <a href="http://www.blogjava.net/hwpok/archive/2011/08/30/357563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jboss netty 框架小试</title><link>http://www.blogjava.net/hwpok/archive/2011/08/30/357562.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Tue, 30 Aug 2011 05:07:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/30/357562.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357562.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/30/357562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357562.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357562.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.server Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package&nbsp;example.helloword.server;import&nbsp;java.net.InetSocketAddress;import&nbsp;ja...&nbsp;&nbsp;<a href='http://www.blogjava.net/hwpok/archive/2011/08/30/357562.html'>阅读全文</a><img src ="http://www.blogjava.net/hwpok/aggbug/357562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-30 13:07 <a href="http://www.blogjava.net/hwpok/archive/2011/08/30/357562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java  简单socket 通信</title><link>http://www.blogjava.net/hwpok/archive/2011/08/26/357328.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Fri, 26 Aug 2011 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/26/357328.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357328.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/26/357328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357328.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357328.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.服务器Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package&nbsp;sterning;import&nbsp;java.io.BufferedReader;import&nbsp;java.io.IOException;import...&nbsp;&nbsp;<a href='http://www.blogjava.net/hwpok/archive/2011/08/26/357328.html'>阅读全文</a><img src ="http://www.blogjava.net/hwpok/aggbug/357328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-26 10:28 <a href="http://www.blogjava.net/hwpok/archive/2011/08/26/357328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]JAVA-用HttpClient来模拟浏览器GET,POST </title><link>http://www.blogjava.net/hwpok/archive/2011/08/24/357152.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Tue, 23 Aug 2011 16:08:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2011/08/24/357152.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/357152.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2011/08/24/357152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/357152.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/357152.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器，用来浏览页面查看信息或者提交一些数据等等。所访问的这些页面有的仅仅是一些普通的页面，有的需要用户登录后方可使用，或者需要认证以及是一些通过加密方式传输，例如HTTPS。目前我们使用的浏览器处理这些情况都不会构成问题。不过你可能在某些时候需要通过程序来访问这样的一些页面，比如从别人的网页中&#8220;偷&#8221;一...&nbsp;&nbsp;<a href='http://www.blogjava.net/hwpok/archive/2011/08/24/357152.html'>阅读全文</a><img src ="http://www.blogjava.net/hwpok/aggbug/357152.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2011-08-24 00:08 <a href="http://www.blogjava.net/hwpok/archive/2011/08/24/357152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UDP</title><link>http://www.blogjava.net/hwpok/archive/2010/12/25/341528.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Sat, 25 Dec 2010 12:46:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2010/12/25/341528.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/341528.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2010/12/25/341528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/341528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/341528.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(true)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">//</span><span style="color: #000000">&nbsp;接收数据<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datagramSocket.receive(datagramPacket);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;instruction&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;new&nbsp;String(datagramPacket.getData(),&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">,&nbsp;datagramPacket.getLength());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(instruction);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;senddStr&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;"</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;remote&nbsp;server:&nbsp;"&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;instruction;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("datagramPacket</span><span style="color: #808080">-</span><span style="color: #000000">port:&nbsp;"&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;datagramPacket.getPort());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("datagramPacket</span><span style="color: #808080">-</span><span style="color: #000000">addr:&nbsp;"&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;datagramPacket.getAddress().getHostAddress());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.send(datagramPacket.getAddress().getHostAddress(),&nbsp;datagramPacket.getPort(),&nbsp;senddStr);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;e)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
 <img src ="http://www.blogjava.net/hwpok/aggbug/341528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2010-12-25 20:46 <a href="http://www.blogjava.net/hwpok/archive/2010/12/25/341528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java  得到本机所有ip</title><link>http://www.blogjava.net/hwpok/archive/2010/12/01/339464.html</link><dc:creator>惠万鹏</dc:creator><author>惠万鹏</author><pubDate>Wed, 01 Dec 2010 00:44:00 GMT</pubDate><guid>http://www.blogjava.net/hwpok/archive/2010/12/01/339464.html</guid><wfw:comment>http://www.blogjava.net/hwpok/comments/339464.html</wfw:comment><comments>http://www.blogjava.net/hwpok/archive/2010/12/01/339464.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hwpok/comments/commentRss/339464.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hwpok/services/trackbacks/339464.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String[]&nbsp;getAllLocalHostIP()<br />
<img id="Codehighlighter1_47_834_Open_Image" onclick="this.style.display='none'; Codehighlighter1_47_834_Open_Text.style.display='none'; Codehighlighter1_47_834_Closed_Image.style.display='inline'; Codehighlighter1_47_834_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_47_834_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_47_834_Closed_Text.style.display='none'; Codehighlighter1_47_834_Open_Image.style.display='inline'; Codehighlighter1_47_834_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_47_834_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_47_834_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;ret&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
<img id="Codehighlighter1_98_725_Open_Image" onclick="this.style.display='none'; Codehighlighter1_98_725_Open_Text.style.display='none'; Codehighlighter1_98_725_Closed_Image.style.display='inline'; Codehighlighter1_98_725_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_98_725_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_98_725_Closed_Text.style.display='none'; Codehighlighter1_98_725_Open_Image.style.display='inline'; Codehighlighter1_98_725_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_98_725_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_98_725_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;hostName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;InetAddress.getLocalHost().getHostName();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(hostName&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;hostName.length()&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_243_285_Open_Image" onclick="this.style.display='none'; Codehighlighter1_243_285_Open_Text.style.display='none'; Codehighlighter1_243_285_Closed_Image.style.display='inline'; Codehighlighter1_243_285_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_243_285_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_243_285_Closed_Text.style.display='none'; Codehighlighter1_243_285_Open_Image.style.display='inline'; Codehighlighter1_243_285_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_243_285_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_243_285_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;ret;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InetAddress[]&nbsp;inetAddresses&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;InetAddress.getAllByName(hostName);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(inetAddresses&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;inetAddresses.length&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_444_486_Open_Image" onclick="this.style.display='none'; Codehighlighter1_444_486_Open_Text.style.display='none'; Codehighlighter1_444_486_Closed_Image.style.display='inline'; Codehighlighter1_444_486_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_444_486_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_444_486_Closed_Text.style.display='none'; Codehighlighter1_444_486_Open_Image.style.display='inline'; Codehighlighter1_444_486_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_444_486_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_444_486_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;ret;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String[inetAddresses.length];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;inetAddresses.length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_624_715_Open_Image" onclick="this.style.display='none'; Codehighlighter1_624_715_Open_Text.style.display='none'; Codehighlighter1_624_715_Closed_Image.style.display='inline'; Codehighlighter1_624_715_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_624_715_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_624_715_Closed_Text.style.display='none'; Codehighlighter1_624_715_Open_Image.style.display='inline'; Codehighlighter1_624_715_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_624_715_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_624_715_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;inetAddresses[i].getHostAddress();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;ex)<br />
<img id="Codehighlighter1_764_808_Open_Image" onclick="this.style.display='none'; Codehighlighter1_764_808_Open_Text.style.display='none'; Codehighlighter1_764_808_Closed_Image.style.display='inline'; Codehighlighter1_764_808_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_764_808_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_764_808_Closed_Text.style.display='none'; Codehighlighter1_764_808_Open_Image.style.display='inline'; Codehighlighter1_764_808_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_764_808_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_764_808_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;ret;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
 <img src ="http://www.blogjava.net/hwpok/aggbug/339464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hwpok/" target="_blank">惠万鹏</a> 2010-12-01 08:44 <a href="http://www.blogjava.net/hwpok/archive/2010/12/01/339464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>