// chatserver4.java Use: java -cp . chatserver4
import java.net.*;
import java.io.*;
import java.util.Vector;
class chatserver4 {
public static void main(String args[]) throws Exception
ServerSocket connection = new ServerSocket( 888 );
while(true) new server4(connection.accept());
}
class server4 implements Runnable {
Socket s;
static Vector outVector = new Vector();
server4(Socket s) {
this.s = s;
new Thread(this).start();
}
public void run() {
String from;
BufferedReader in=null;
PrintStream out=null;
try {
in = new BufferedReader(
new InputStreamReader(s.getInputStream()));
out = new PrintStream(s.getOutputStream());
outVector.addElement(out);
System.out.println("Connected");
while( (from=in.readLine()) != null && !from.equals("")) {
System.out.println( from );
for(int i=0; i<outVector.size(); i++)
((PrintStream)outVector.elementAt(i)).print(from + "\r\n");
}
s.close();
}
catch(IOException e) {}
System.out.println("Disconnected");
outVector.removeElement(out);
}
}
|
// chatserver5.java Use: java -cp . chatserver5
import java.net.*;
import java.io.*;
import java.util.Vector;
class chatserver5 {
public static void main(String args[]) throws Exception {
ServerSocket connection = new ServerSocket( 888 );
while(true) new server5(connection.accept());
}
}
class server5 implements Runnable {
Socket s;
static Vector outVector = new Vector();
server5(Socket s) {
this.s = s;
new Thread(this).start();
}
public void run() {
String from;
BufferedReader in=null;
PrintStream out=null;
try {
in = new BufferedReader(
new InputStreamReader(s.getInputStream()));
out = new PrintStream(s.getOutputStream());
synchronized(outVector) {
outVector.addElement(out);
}
System.out.println("Connected");
while( (from=in.readLine()) != null && !from.equals("")) {
System.out.println( from );
for(int i=0; i<outVector.size(); i++)
((PrintStream)outVector.elementAt(i)).print(from + "\r\n");
}
s.close();
}
catch(IOException e) {}
System.out.println("Disconnected");
synchronized(outVector) {
outVector.removeElement(out);
}
}
}
|