¡Código fuente JAVA, juegos u otros!
//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> } p>
public void actionPerformed(ActionEvent e)
{
if(e .getActionCommand().equals("Link Server")) p>
{
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>
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> } 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!