[Assorted-commits] SF.net SVN: assorted: [230] sandbox/trunk/src/java
Brought to you by:
yangzhang
From: <yan...@us...> - 2008-01-14 04:01:40
|
Revision: 230 http://assorted.svn.sourceforge.net/assorted/?rev=230&view=rev Author: yangzhang Date: 2008-01-13 20:01:39 -0800 (Sun, 13 Jan 2008) Log Message: ----------- Added Paths: ----------- sandbox/trunk/src/java/AnonClassFields.java sandbox/trunk/src/java/MinaUdpExample.java Added: sandbox/trunk/src/java/AnonClassFields.java =================================================================== --- sandbox/trunk/src/java/AnonClassFields.java (rev 0) +++ sandbox/trunk/src/java/AnonClassFields.java 2008-01-14 04:01:39 UTC (rev 230) @@ -0,0 +1,16 @@ +/** + * Demonstrates that we can use fields, but public fields won't do us much good + * since the static type containing such a public field doesn't exist. + */ +public class AnonClassFields { + public static void main(String[] args) { + Runnable r = new Runnable() { + private int x; + public int y; + public void run() { + System.out.println(x); + } + }.run(); + } +} +// vim:et:sw=2:ts=2 Added: sandbox/trunk/src/java/MinaUdpExample.java =================================================================== --- sandbox/trunk/src/java/MinaUdpExample.java (rev 0) +++ sandbox/trunk/src/java/MinaUdpExample.java 2008-01-14 04:01:39 UTC (rev 230) @@ -0,0 +1,61 @@ +import java.net.InetSocketAddress; +import java.util.ArrayList; + +import org.apache.mina.common.IdleStatus; +import org.apache.mina.common.IoHandlerAdapter; +import org.apache.mina.common.IoServiceConfig; +import org.apache.mina.common.IoSession; +import org.apache.mina.filter.LoggingFilter; +import org.apache.mina.filter.codec.ProtocolCodecFilter; +import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory; +import org.apache.mina.transport.socket.nio.DatagramAcceptor; +import org.apache.mina.transport.socket.nio.DatagramAcceptorConfig; +import org.apache.mina.transport.socket.nio.DatagramConnector; + +public class MinaUdpExample { + + private static final int PORT = 9123; + + public static void main(String[] args) throws Exception { + final IoServiceConfig cfg = new DatagramAcceptorConfig(); + cfg.getFilterChain().addLast("logger", new LoggingFilter()); + cfg.getFilterChain().addLast("codec", + new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); + + new DatagramAcceptor().bind(new InetSocketAddress(PORT), + new TimeServerHandler(), cfg); + System.out.println("server started"); + + new DatagramConnector().connect( + new InetSocketAddress("localhost", PORT), + new TimeClientHandler(), cfg); + System.out.println("client started"); + } + + public static class TimeClientHandler extends IoHandlerAdapter { + @Override + public void sessionCreated(IoSession session) throws Exception { + session.write(new ArrayList<String>()); + } + } + + public static class TimeServerHandler extends IoHandlerAdapter { + public void exceptionCaught(IoSession session, Throwable t) + throws Exception { + t.printStackTrace(); + session.close(); + } + + @Override + public void messageReceived(IoSession session, Object msg) + throws Exception { + System.out.println("server got " + msg); + } + + @Override + public void sessionCreated(IoSession session) throws Exception { + System.out.println("server session created"); + session.setIdleTime(IdleStatus.BOTH_IDLE, 10); + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |