public static ServerSocket ss;
public static void main(String[] args) throws Exception {
ss = new ServerSocket(3133);
+ /*
new Listener(3).start();
new Listener(4).start();
new Listener(1).start();
new Listener(2).start();
+ */
+ new Listener(0).start();
}
public static String pass_string = "password=security_is_for_wimps ";
if (!sb.toString().startsWith(pass_string)) return;
String file = sb.toString().substring(pass_string.length()).trim();
- System.err.println("unprogramming...");
- int ret = Runtime.getRuntime().exec(new String[] { "/usr/bin/user_unprogram", ""+devnum }).waitFor();
+ System.err.println("programming...");
+ Process proc = Runtime.getRuntime().exec(new String[] { "/afs/megacz.com/work/ml410/program.sh", "/afs/megacz.com/work/ml410/main.bit" });
+ BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String s = null;
+ while((s = br.readLine()) != null) {
+ System.err.println(" " + s);
+ }
+ int ret = proc.waitFor();
if (ret != 0) {
System.err.println("programming error: " + ret);
return;
}
+ /*
System.err.println("programming...");
ret = Runtime.getRuntime().exec(new String[] {
"/usr/bin/user_program", ""+devnum, "/var/slipway/"+file }).waitFor();
System.err.println("programming error: " + ret);
return;
}
+ */
System.err.println("done programming.");
try { Thread.sleep(2000); } catch(Exception e) { }
final OutputStream os = socket.getOutputStream();
System.err.println("sending instructions...");
- raf = new RandomAccessFile("/dev/selectmap"+devnum, "rw");
+ raf = new RandomAccessFile("/dev/ttyS"+devnum, "rw");
final RandomAccessFile raf2 = raf;
} finally {
if (raf2 != null) {
System.err.println("closing...");
+ closed = true;
try { raf2.close(); } catch (Throwable t) { t.printStackTrace(); }
try { fos.close(); } catch (Throwable t) { t.printStackTrace(); }
- closed = true;
}
}
}
int val = 0;
for(int i=0; i<6; i++) {
int k = 0;
- while(fis.available()==0) {
+ while(!closed && fis.available()==0) {
if (closed) return;
k++;
if (k >= 100) {
}
Thread.sleep(10);
}
+ if (closed) return;
val = fis.read();
if (val==-1) break;
os.write((byte)val);