Merge branch 'master' into modular

This commit is contained in:
Dan Ballard 2011-05-20 11:30:04 -07:00
commit 15b9abbc4a
2 changed files with 76 additions and 0 deletions

13
README Normal file
View File

@ -0,0 +1,13 @@
Cortex: P2P in JavaScript
Dan Ballard (2010-2011) <dan@mindstab.net>
cortex.mindstab.net
Cortex is a P2P framework that runs without installation in your web browser. It's one small part Java Applet (HTTP server) and one large part JavaScript. The JavaScript is all the P2P networking code and utilities you need to get off the ground and go.
Cortex was a school project for CS from late 2009 and early 2010 that won second place in the BCNet "Broadband Innovation challenge". On top of the P2P network, a distributed processing system was written to further demonstrate that mature complicated applications can be written in JavaScript.
As happens with school projects, the Cortex code base was a bit of a mess when done due to massive time constraints and due dates. I am slowly trying to clean up the codebase now in my spare time.
Step 1 was the longpull branch which added a few nice graphics feedbacl tweeks to the java applet and greatly sped up communication by making it use AJAX longpull.
Step 2 is to modularize it to make it more extensible

63
Server.java Normal file
View File

@ -0,0 +1,63 @@
import java.applet.*;
//import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;
import java.awt.image.*;
import java.lang.*;
import java.io.*;
import java.net.*;
class Server implements Runnable {
private ServerSocket server;
private ResManager res;
private Applet applet;
public Server(ResManager r, String codeBase, Applet a) {
applet = a;
res = r;
res.putNodeData("originURL", codeBase);
res.reloadSite();
//res.alert("Loaded site");
boolean bound = false;
while(!bound)
{
try {
server = new ServerSocket(res.PORT);
bound = true;
} catch (IOException e) {
res.PORT++;
}
}
applet.repaint();
res.openDebugLog("me");
}
public void run() {
try {
//res.alert("running server");
while (!res.killSwitch) {
Socket sock = server.accept();
//res.alert("ACCEPTED!");
new Thread(new ConnHandler(sock, res)).start();
//handler.run();
//res.alert("RESTARTING LOOP");
}
server.close();
} catch (IOException e) {
System.out.println("IOException in init(): " + e.toString());
res.error( "IOException in init(): " + e.toString());
}
applet.repaint();
}
}