/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package serverchat;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author paolo
*/
public class Server
extends Thread {
private ArrayList<ParallelServer> clients;
private class ParallelServer
extends Thread {
public ParallelServer
(Socket clientAccept
) {
this.sock=clientAccept;
try {
}
}
try {
line = this.reader.readLine();
}
return line;
}
public void writeLine
(String line
){
try {
this.printer.writeBytes(line + "\n");
}
}
@Override
public void run() {
while((line=this.readLine())!=null){
String cmd
=line.
substring(0, 3
);
if(!cmd.equalsIgnoreCase("SEND")){
for(int i=0; i<clients.size(); i++){
clients.get(i).writeLine(line);
}
}
}
}
}
public Server() {
this.clients = new ArrayList<ParallelServer>();
}
@Override
public void run() {
try {
while (true) {
Socket clientAccept
= server.
accept();
ParallelServer client= new ParallelServer(clientAccept);
client.start();
this.clients.add(client);
}
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main
(String[] args
) {
/*try {
ServerSocket server = new ServerSocket(2222);
Socket client = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
String letto = in.readLine();
while (!letto.equals("fine")) {
out.println(letto);
letto = in.readLine();
}
} catch (IOException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}*/
new Server().start();
}
}