rendered paste bodyimport java.net.*;
import java.io.*;
public class ArrayServer {
public static void main(String[] args) {
int valid = 0;
int recvd = 0;
while(true) {
if(args.length < 1){
System.err.println("usage: java ArrayServer port");
System.exit(1);
}
System.out.println("Server started");
Socket conn = null;
ServerSocket s = null;
try {
s = new ServerSocket(Integer.parseInt(args[0]));
conn = s.accept();
}
catch(IOException e) {
System.err.println("Socket could not be opened");
System.exit(1);
}
byte[] data = new byte[1000000];
InputStream raw = null;
try {
raw = conn.getInputStream();
}
catch(IOException e) {
System.err.println("Couldnt get input");
System.exit(1);
}
while(true) {
if(conn.isClosed()) {
break;
}
try{
raw.read(data);
}
catch(IOException e) {
System.err.println("Could not get input");
System.exit(1);
}
System.out.println("Array " + (recvd + 1) + " recieved");
boolean result = scan(data);
if( result == true ) {
valid++;
}
recvd++;
}
System.out.println("Recived " + recvd + " byte arrays.");
System.out.println(valid + " arrays were valid.");
try {
conn.close();
s.close();
}
catch(IOException e) {
System.err.println("Error on closing connection");
System.exit(1);
}
break;
}
}
public static boolean scan(byte[] input) {
boolean result = false;
if( input.length >= 2 && input[0] == 0 ) {
for(int i = 1; i < input.length; i++) {
if( input[i] == 1 ) {
continue;
}
else if( i == input.length - 1 && input[i] == 0 ) {
result = true;
break;
}
break;
}
}
else
return false;
return result;
}
}