Ejemplo de código fuente de socket
Lado del servidor
¿Público? ¿clase? MiTcpServer{
¿Público? ¿Electricidad estática? ¿Vacío? mian(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 . println("->+new? string(buffer));
os.write( "¿Hola? Cliente ".getBytes());
OS.flush();
is.close();
OS.close();
cliente .close();
socket del servidor .close();
}? printstacktrace();
}
}
}
¿Cliente?
¿clase privada?
@override? run()?{
p>
¿Intentar? {
¿Socket? =? , 12345); // ¿IP es la IP del servidor?
InputStream? =?client.getinputstream();
OutputStream? /p>
out.write("¿Hola? Servidor". 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. ¿Se bloquearán todas las operaciones de lectura?
byte[] =? byte[1024];
int?=?in.read(); p>
in.read(buffer);
system.out.println("->+ new? string(buffer));
}?catch? (IOExcepción? e)? {
e . printstacktrace();
}
}
}
}