MINA的UDP协议demo
2010-06-10 19:36
176 查看
最近要写一个监控程序,于是想到了用下MINA,网上找了些例子感觉并不适用,写了一个小例子测试了一下,很简单。数据需要主要通过xml发送,所以这个例子实现了文本数据传输。
客户端代码
参考:
http://mina.apache.org/udp-tutorial.html
http://hi.baidu.com/yhzhw2121/blog/item/ba7b76552b30045d564e00e2.html
客户端代码
import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.apache.log4j.Logger; import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; import org.apache.mina.core.future.ConnectFuture; import org.apache.mina.core.future.IoFuture; import org.apache.mina.core.future.IoFutureListener; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.LineDelimiter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.transport.socket.DatagramConnector; import org.apache.mina.transport.socket.nio.NioDatagramConnector; public class Client extends IoHandlerAdapter { private static Logger logger = Logger.getLogger(Client.class); DatagramConnector connector; IoSession session; public Client() { connector = new NioDatagramConnector(); connector.setHandler(this); DefaultIoFilterChainBuilder chain = connector.getFilterChain(); chain.addLast("logger", new LoggingFilter()); chain.addLast("codec", new ProtocolCodecFilter( new TextLineCodecFactory(Charset.forName("UTF-8"), LineDelimiter.NUL, LineDelimiter.NUL))); IoFuture connFuture = connector.connect(new InetSocketAddress( "127.0.0.1", 1234)); connFuture.addListener(new IoFutureListener() { public void operationComplete(IoFuture future) { ConnectFuture connFuture = (ConnectFuture) future; if (connFuture.isConnected()) { session = future.getSession(); try { sendData(); } catch (InterruptedException e) { e.printStackTrace(); } } else { logger.error("Not connected...exiting"); } } }); } private void sendData() throws InterruptedException { session.write("测试数据发送!"); } public static void main(String[] args) { new Client(); } }
参考:
http://mina.apache.org/udp-tutorial.html
http://hi.baidu.com/yhzhw2121/blog/item/ba7b76552b30045d564e00e2.html
相关文章推荐
- Mina.Net实现的UDP协议消息收发Demo
- 闲来无事,写个基于UDP协议的Socket通讯Demo
- java udp协议请求demo
- 闲来无事,写个基于UDP协议的Socket通讯Demo
- 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
- mina使用UDP协议的小结
- mina两种协议获取方式(TCP/UDP)
- UDP协议服务器、客户端使用实例Demo
- netty 3.9.2 UDP协议服务器和客户端DEMO
- Socket入门Demo——UDP协议
- 基于TCP UDP 协议的聊天小DEMO
- 视音频数据处理入门:UDP-RTP协议解析
- UDP、TCP、RTP协议总结
- 15.基于UDP协议的聊天室程序
- Visual C++设计UDP协议通讯示例
- 使用Java控制UDP协议
- DNS使用的是TCP协议还是UDP协议(转)
- C语言编写基于TCP和UDP协议的Socket通信程序示例
- java中网络编程DatagramPacke类------UDP协议
- 在QT下的基于UDP协议的消息收发程序