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.
|