Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Código fuente JAVA, juegos u otros!

¡Código fuente JAVA, juegos u otros!

// Este es un programa de chat que ejecuta Client.java en ECLIPSE. La conexión es: localhost

//Código del servidor,

Mensaje de empaquetado

import java.io.*

import java; . net.*;

import java.util. p>servidor de clase pública {

public static void main(String[] args) lanza una excepción{

Sistema .out.print("Servidor");

ServerSocket socket=new ServerSocket(8888);

Vector v=new Vector();

mientras ( verdadero){

Socket sk=socket.accept();

DataInputStream in=new DataInputStream(sk.getInputStream());

DataOutputStream out= nuevo DataOutputStream(sk.getOutputStream());

v.add(sk);

nuevo ServerThread(in, v).start();

}

}

}

//Código ServerThread.java

mensaje del paquete;

importar java.net.*;

importar java.io.*;

importar java.util.*

la clase pública ServerThread extiende el hilo{< / p>

DataInputStream en

Vector todo

public ServerThread(DataInputStream en, Vector v){

this.in=in;

p>

this.all=v

}

ejecución nula pública()<

{

while(true )

{

intentar{

String s1=in.readUTF();

for(int i=0; ilt; all.size(); i )

{

Objeto obj=all.get(i);

Enchufe socket=( Socket)obj;

p>

DataOutputStream out=nuevo DataOutputStream(socket.getOutputStream());

DataOutputStream out=nuevo DataOutputStream(socket.getOutputStream()).

getOutputStream());

out.writeUTF(s1);

System.out.print(i

out.flush(); p>

p>

}

System.out.print("¡Mensaje enviado!"

} catch(Exception e){e.printStackTrace(); );};

}

}

}

}

}

//ClientFrame. código java io.

Cliente público ClientFrame extiende JFrame implementa ActionListener{

JButton b1=new JButton ("SendMessage"); b2=nuevo JButton( "Servidor de enlace");

JTextField t1=nuevo JTextField(20);

JTextField t2=nuevo JTextField(20);

JLabel l=new JLabel ("Ingrese el nombre del servidor:");

JTextArea area=new JTextArea(10,20);

JPanel p1=new JPanel();

JPanel p2=nuevo JPanel();

JPanel p3=nuevo JPanel();

JPanel p4=nuevo JPanel();

Socket socket;

public ClientFrame()

{

this.add("Centro", p3

p1.add(); "Sur", p4 );

b1.addActionListener(this

b2.pack()

show(); p> }

public void actionPerformed(ActionEvent e)

{

if(e .getActionCommand().equals("Link Server"))

{

probar{

socket=new Socket(t2.getText(), 8888

b2.setEnabled(false);

JOptionPane.showMessageDialog(this, "Conexión exitosa");

DataInputStream in=new DataInputStream(socket.getInputStream());

new ClientThread(in); , área).start ();

}

catch(Exception e1){

JOptionPane.showMessageD

ialog(this, "Error de conexión");

e1.printStackTrace();};

}

else if(e.getActionCommand().equals ("SendMessage"))

{

prueba{

DataOutputStream out=new DataOutputStream(socket.getOutputStream());

out.writeUTF(t1.getText());

t1.setText("");

} catch(Exception e1){e1.printStackTrace();};

p>

}

}

}

/Código ClientThread.java

mensaje del paquete;

importar

área JTextArea;

public ClientThread(DataInputStream in, área JTextArea){

this.in=in; >

esta .area=area;

target="_blank" target="_blank" target="_blank">morearea=area;

}

public void run ()

{

while(true){

try{

String s=in.readUTF( );

area.append(s);

}

catch( Excepción e){e.printStackTrace(); p> }

}

}

}

//Cliente. código java

mensaje del paquete;

cliente de clase pública {

/**

* @param args

*/

public static void main(String[] args) {

new ClientFrame();

}

}

/// Cada fragmento de código es una clase, no lo coloque en un archivo. Ejecute Client.java

¡Buena suerte!