import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
class ThreadedServer {
private final static int BUFSIZE = 512;
public static void main(String args[]) throws Exception {
int port = Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(port);
while (true) {
Socket s = ss.accept();
ServerThread st = new ServerThread(s);
st.start();
}
}
}
class ServerThread extends Thread {
private double total = 0;
DataInputStream dis;
DataOutputStream dos;
public ServerThread(Socket s) throws Exception {
InputStream is = s.getInputStream();
dis = new DataInputStream(is);
OutputStream os = s.getOutputStream();
dos = new DataOutputStream(os);
}
public void run() {
try {
while (true) {
double value = dis.readDouble();
total += value;
dos.writeDouble(total);
}
} catch (Exception e) {
}
}
}
|