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();
	}
}