¿Cuál es el código fuente del ejemplo?
Lado del servidor
¿Público? ¿clase? MiTcpServer{
¿Público? ¿Electricidad estática? ¿Vacío? main(String[]?args){
¿Probar? {
//Construir un servidor de socket con un puerto del lado del servidor de 12345;
¿ServerSocket? servidorSocket? =?Nuevo? server socket(12345);
// Esperando recibir la conexión del cliente de socket y obtener el objeto de socket del cliente.
//?Este método se bloqueará cuando no haya ningún cliente conectado.
¿Enchufe? ¿cliente? =?server socket. Accept();
//Obtiene la tubería de entrada del cliente de socket.
¿Entrada de flujo? ¿Sí? =?client . getinputstream();
//Obtiene la tubería de salida del cliente de socket.
¿Flujo de salida? sistema operativo =? cliente .obtener flujo de salida();
byte[]? ¿buffer? =?Nuevo? byte[1024];
int? Ryan. =?is.read(buffer);
system out . println("- gt; new? string (buffer));
os.write("¿Hola? Cliente" .getBytes());
OS .flush();
es .close();
OS .close();
p>
cliente .close();
socket del servidor .close();
}? p >e .printstacktrace();
}
}
}
¿Crear cliente
Privado? ? ¿Clase? MyThread? {
@Override? {
¿Intentar? "192.168.3", 12345); //¿IP es el número de puerto del servidor?
InputStream? =?client.getinputstream();
OutputStream? ();
out. write("Hello? Server".getBytes()); //Si la operación de lectura se realiza primero en el lado del servidor, entonces el cliente debe escribir primero.
//Esto se hace alternativamente; de lo contrario, en Lectura. ¿Se bloquearán todas las operaciones de lectura?
byte[] =? byte[1024];
int?
=?en . leer();
en.read(búfer);
sistema fuera . >
}? (IOException?e)?
}