Professional Documents
Culture Documents
Codigo Del Proyecto Chat
Codigo Del Proyecto Chat
Clase Cliente
public class Client {
Clase Servidor
public class Server {
Clase Hilo
public class Hilo extends Thread
{
private ServerInterface serverInterface;
@Override
public void run() {
ServerSocket serverSocket;
Socket server;
try {
serverSocket = new ServerSocket(9999);
Dato receivedMessage;
while (true)
{
try{
server = serverSocket.accept();
ObjectInputStream objectInputStream = new
ObjectInputStream(server.getInputStream());
try {
receivedMessage = (Dato)
objectInputStream.readObject();
serverInterface.getMenssages().append("\nIp "
+ receivedMessage.getIp()+ " de "
+ receivedMessage.getNombre()+ ": " +
receivedMessage.getMensaje());
Socket enviar_regreso=new
Socket(receivedMessage.getIp(),9090);
Henry Pérez García CHAT
8vo – Ingeniería en Sistemas
Aplicaciones Distribuidas
ObjectOutputStream output_envia= new
ObjectOutputStream(enviar_regreso.getOutputStream());
output_envia.writeObject(receivedMessage);
output_envia.close();
enviar_regreso.close();
} catch (ClassNotFoundException ex) {
server.close();
}
catch (IOException ex){
System.out.println (ex.getMessage());
}
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
}
Clase Dato
public class Dato implements Serializable{
private String nombre, ip, mensaje;
public Dato() {
}
btnSubmit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
socketClient = new Socket("192.168.42.8", 9999);
try (ObjectOutputStream objectOutputStream = new
ObjectOutputStream(socketClient.getOutputStream())) {
Dato dato = new Dato(txtClient.getText(),
txtIp.getText(),
txtMessage.getText());
txtMessages.append("\n Yo:" +
txtMessage.getText());
objectOutputStream.writeObject(dato);
}
socketClient.close();
} catch (IOException ex) {
txtMessages.setText(txtMessages.getText() + "\n" +
txtMessage.getText() + " - Message not sent.");
System.out.println(ex.getMessage());
}
}
});
@Override
public void run() {
ServerSocket serverSocket;
Socket cliente;
try {
serverSocket = new ServerSocket(9090);
//System.out.println("Ya creó el ServerSocket");
Dato datos;
while (true)
{
try{
cliente = serverSocket.accept();
ObjectInputStream objectInputStream = new
ObjectInputStream(cliente.getInputStream());
try {
datos = (Dato) objectInputStream.readObject();
txtMessages.append("\n" + datos.getNombre()+":
"+ datos.getMensaje());
}
}
panel.add(lblTitle);
panel.add(lblMessages); panel.add(txtMessages);
panel.add(btnLimpiar);