Rede Windows

6 respostas
Borborema

Olá pessoal,
estou criando um sistema habilita e desabilita rede no windows e linux. Alguém sabe me informar se terei que usar JNA? Se alguém um exemplo agradeceria

6 Respostas

M

A princípio sim, já que essa é uma característica bem específica de cada SO.

Você quer um exemplo qualquer de JNA ou especificamente do seu problema (entenda-se: você já conhece algo sobre JNA)?

Borborema

não entendo nda de JNA, o exemplo seria mais para me direcionar

M
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

/*
 * Suas interfaces que representarem bibliotecas nativas devem
 * estender com.sun.jna.Library.
 */
public interface CLibrary extends Library {

	/*
	 * Para ter acesso a biblioteca devemos carregá-la através do método
	 * com.sun.jna.Native.loadLibrary, informando o nome da biblioteca (nesse
	 * caso, msvcrt no Windows ou c nos demais sistemas) e também a interface
	 * que mapeia os métodos.
	 */
	CLibrary INSTANCE = (CLibrary) Native.loadLibrary(
			(Platform.isWindows() ? "msvcrt" : "c"), CLibrary.class);

	/*
	 * Dentro dessa interface nós definiremos os métodos definidos na
	 * biblioteca. Como exemplo, vamos usar o printf e o cos, definidos na
	 * biblioteca C.
	 */
	void printf(String format, Object... args);

	double cos(double value);

}
public class CTest {

	public static void main(String[] args) {
		CLibrary.INSTANCE.printf("Olá %s\n", "mundo!");
		double rad = 0.7853981633974483; // 45 graus
		System.out.println(CLibrary.INSTANCE.cos(rad));
	}

}

Esse exemplo é parecido com o explicado na homepage do projeto: https://jna.dev.java.net/, porém está comentado. Note que esse é o exemplo mais simples que se pode ter de JNA. Você agora precisa saber:

  1. Quais as bibliotecas encarregadas de ativar/desativar a rede no Windows/Linux
  2. Mapear ao menos a parte essencial dessas bibliotecas (note que não é preciso mapear a biblioteca toda)
  3. Caso seja necessário, você deverá estudar JNA mais a fundo para fazer mapeamento de enums ou structs.
Borborema

Alguém já bloqueou porta 80 no windows/linux usando java?

M

Bloquear como se fosse um firewall? Em sentido de entrada ou saída?

Borborema

como saída

Criado 8 de março de 2010
Ultima resposta 9 de mar. de 2010
Respostas 6
Participantes 2