FileDocCategorySizeDatePackage
SocketSend.javaAPI DocApache Tomcat 6.0.142937Fri Jul 20 04:20:34 BST 2007org.apache.catalina.tribes.test.transport

SocketSend

public class SocketSend extends Object

Fields Summary
Constructors Summary
Methods Summary
public static voidmain(java.lang.String[] args)

        
        
        Member mbr = new MemberImpl("localhost", 9999, 0);
        ChannelData data = new ChannelData();
        data.setOptions(Channel.SEND_OPTIONS_BYTE_MESSAGE);
        data.setAddress(mbr);
        byte[] buf = new byte[8192 * 4];
        data.setMessage(new XByteBuffer(buf,false));
        buf = XByteBuffer.createDataPackage(data);
        int len = buf.length;
        System.out.println("Message size:"+len+" bytes");
        BigDecimal total = new BigDecimal((double)0);
        BigDecimal bytes = new BigDecimal((double)len);
        Socket socket = new Socket("localhost",9999);
        System.out.println("Writing to 9999");
        OutputStream out = socket.getOutputStream();
        long start = 0;
        double mb = 0;
        boolean first = true;
        int count = 0;
        DecimalFormat df = new DecimalFormat("##.00");
        while ( count<1000000 ) {
            if ( first ) { first = false; start = System.currentTimeMillis();}
            out.write(buf,0,buf.length);
            mb += ( (double) buf.length) / 1024 / 1024;
            total = total.add(bytes);
            if ( ((++count) % 10000) == 0 ) {
                long time = System.currentTimeMillis();
                double seconds = ((double)(time-start))/1000;
                System.out.println("Throughput "+df.format(mb/seconds)+" MB/seconds messages "+count+", total "+mb+" MB, total "+total+" bytes.");
            }
        }
        out.flush(); 
        System.out.println("Complete, sleeping 5 seconds");
        Thread.sleep(5000);