Java - NECESITO CHAT URGENTE PORFIS.....

 
Vista:

NECESITO CHAT URGENTE PORFIS.....

Publicado por Gisel (7 intervenciones) el 17/11/2005 04:11:21
necesito por favor que alguien me pase el codigo de un chat, es re urgente.. please...
muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ChatServer

Publicado por Kathy (10 intervenciones) el 17/11/2005 23:58:07
import java.net.*;
import java.io.*;
import java.util.*;
public class ChatServer {
public ServerSocket server;
public List clients;
public ChatServer(int port) {
try {
this.server = new ServerSocket(port);
this.clients = new ArrayList();
}
catch (Exception e) {
System.err.println("ERROR: " + e.getMessage());
System.exit(0);
}
}
public void startServer() {
System.err.println("Esperando conexiones...");
while (true) {
try {
Socket client = this.server.accept();
clients.add(new PrintWriter(
client.getOutputStream(), true));
System.err.println("[" +
client.getInetAddress().getHostAddress()
+ "] Cliente conectado");
ChatConnection cc = new ChatConnection(client);
cc.start();
}
catch (Exception e) {
System.err.println("ERROR: " + e.getMessage());
System.exit(0);
}
}
}
class ChatConnection extends Thread {
private Socket client;
private int n;
public ChatConnection(Socket client) {
this.client = client;
this.n = clients.indexOf(client);
}
public void run() {
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(
this.client.getInputStream()));
while (true) {
String line = in.readLine();
if (line == null) {
System.err.println("[" +
this.client.getInetAddress().getHostAddress()
+ "] Client disconnected");
break;
}
for (int i=0; i<clients.size(); i++) {
PrintWriter out = (PrintWriter)
clients.get(i);
out.println(line);
}
}
in.close();
client.close();
clients.remove(n);
}
catch (Exception e) {
System.err.println("ERROR: " + e.getMessage());
}
}
}
public static void main(String[] args) {
if (args.length <= 0) {
System.err.println("Uso: ChatServer <port>");
System.exit(0);
}
ChatServer cs = new ChatServer(Integer.parseInt(args[0]));
cs.startServer();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ChatClient

Publicado por Kathy (10 intervenciones) el 17/11/2005 23:59:11
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class ChatClient {
private Socket server;
private String nick;
private Frame ventana;
private TextArea texto;
private TextField mensaje;
private Button salir;
private PrintWriter out = null;
public ChatClient(String server, int port, String nick) {
ventana = new Frame("Java Chat v2.0");
ventana.setLayout(new BorderLayout());
mensaje = new TextField(100);
mensaje.addActionListener(new MensajeListener());
ventana.add(mensaje, "North");
texto = new TextArea(25, 100);
texto.setEnabled(true);
texto.setBackground(Color.white);
texto.setForeground(Color.black);
ventana.add(texto, "Center");
Panel opciones = new Panel();
opciones.setLayout(new FlowLayout());
salir = new Button("Salir");
salir.addActionListener(new SalirListener());
opciones.add(salir);
ventana.add(opciones, "South");
ventana.pack();
ventana.show();
try {
this.nick = nick;
this.server = new Socket(server, port);
ChatClientReader ccr = new ChatClientReader();
ccr.start();
out = new PrintWriter(
this.server.getOutputStream(), true);
out.println("*** " + nick + " se ha conectado ***");
}
catch(Exception e) {
System.err.println("ERROR: " + e.getMessage());
System.exit(0);
}
}
class ChatClientReader extends Thread {
public void run() {
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(
server.getInputStream()));
while(true) {
String line = in.readLine();
if (line == null)
break;
texto.append(line + " \n");
}
in.close();
server.close();
System.exit(0);
}
catch(Exception e) {
System.err.println("ERROR: " + e.getMessage());
System.exit(0);
}
}
}
class MensajeListener implements ActionListener {
public void actionPerformed(ActionEvent x) {
try {
out.println("[" + nick + "] " +
mensaje.getText());
mensaje.setText("");
}
catch(Exception e) {
System.err.println("ERROR: " + e.getMessage());
System.exit(0);
}
}
}
class SalirListener implements ActionListener {
public void actionPerformed(ActionEvent x) {
System.exit(0);
}
}
static public void main(String[] args) throws Exception {
BufferedReader stdin = new BufferedReader(
new InputStreamReader(System.in));
System.out.print(" Nick > ");
String nick = stdin.readLine();
System.out.print(" Server > ");
String server = stdin.readLine();
System.out.print(" Port > ");
String port = stdin.readLine();
ChatClient cc = new ChatClient(server,
Integer.parseInt(port),
nick);
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar