Mercurial > hg > Members > you > TreeVNC
view src/test/testDataInputStream.java @ 53:923513c47b8f
add files
author | one |
---|---|
date | Tue, 22 May 2012 17:32:23 +0900 |
parents | |
children | 163ce1743f49 |
line wrap: on
line source
package test; import static org.junit.Assert.*; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; import java.nio.ByteBuffer; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.nio.channels.spi.AbstractSelector; import java.nio.channels.spi.SelectorProvider; import org.junit.Test; import treeVnc.DataInputStream1; import treeVnc.MyRfbProtoClient; public class testDataInputStream { SocketAddress bindpoint = new InetSocketAddress("localhost",59001); @Test public void test() { try { ServerSocketChannel ssChannel = SelectorProvider.provider().openServerSocketChannel(); ServerSocket serv = ssChannel.socket(); serv.setReuseAddress(true); serv.bind(bindpoint); sender(); SocketChannel sock = ssChannel.accept(); DataInputStream1 d = new DataInputStream1(sock.socket()); MyRfbProtoClient rfbc = new MyRfbProtoClient(d); byte[] b = new byte[4096]; int off = 0; int len = 4096; d.readFully(b, off, len); d.reset(); long bufSize = rfbc.getNumBytesRead(); int msgType = rfbc.readServerMessageType(); rfbc.readFramebufferUpdate(); rfbc.readFramebufferUpdateRectHdr(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } fail("Not yet implemented"); } public void sender() { // create Runnable s = new Runnable() { @Override public void run() { try { Socket sock = new Socket(); sock.setReuseAddress(true); while(true) { try { Thread.sleep(100); sock.connect(bindpoint); } catch (Exception e){ continue; } break; } byte b[] = {0, 0, 0, 1, 0, 0, 3, -62, 7, -128, 0, 118, 0, 0, 0, 15}; DataInputStream dataInStream = new DataInputStream( new BufferedInputStream( new FileInputStream("log.txt"))); OutputStream out = sock.getOutputStream(); out.write(b); int readByte; byte[] d = new byte[4096]; while(-1 != (readByte = dataInStream.read(d))){ out.write(d, 0, readByte); } out.flush(); } catch (IOException e) { e.printStackTrace(); } } }; Thread th = new Thread(s); th.start(); } }