易截截图软件、单文件、免安装、纯绿色、仅160KB

通过java和snmp获取本机的网关地址

   毕业设计遇到一个问题,如果才能获得本机的网关地址,问了百度和google,似乎找不到答案,于是在论坛里发帖问老鸟们,在他们的提示下,实现了获取网关的地址,这里主要是通过snmp协议读取本机的mib库,因为OID为1.3.6.1.2.1.4.21.1.7对应的是ipRouteNextHop,也就是下一跳路由,对本机来说就说默认网关了,这里用到了snmp4j这个包,用于实现snmp协议的相关操作,之前的博文也有介绍snmp4j的简单使用,下面就上代码了:
//使用到的类
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
//下面只是一个方法
public String getIpOfGateway(){
String gatewayIpString=null; //网关ip地址是这个字符串的子串
String gatewayIp=null; // 这是代表网关ip
try {

/**
* Set properties of target
*/
CommunityTarget localhost = new CommunityTarget();
Address address = GenericAddress.parse("udp:127.0.0.1/161");
localhost.setAddress(address);
localhost.setCommunity(new OctetString("public"));
localhost.setRetries(2);
localhost.setTimeout(5*60);
localhost.setVersion(SnmpConstants.version2c);
/**
* Set protocols of UDP and SNMP
*/
TransportMapping transport = new DefaultUdpTransportMapping();
transport.listen();
Snmp protocol = new Snmp(transport);
/**
* OID binding
*/
PDU requestPDU = new PDU();
requestPDU.ad


相关文档:

java 线程组


线程组
在Java中每一个线程都归属于某个线程组管理的一员,例如在主函数main()主工作流程中产生一个线程,则产生的线程属于main这个线程组管理的一员。简单地说,线程组就是由线程组成的管理线程的类,这个类是java.lang.ThreadGroup类。
可以通过使用如下代码获取此线程所属线程组的名称。
Thread.currentThread().ge ......

java与mysql乱码的问题 [转]

解决方法一:(最重要的一种方法)
你看下my.ini,有无
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
然后建立表时,也要用(比如)
DROP   TABLE   IF   EXISTS   `Company`;
CREATE &nb ......

JAVA:安全证书 公钥加密,私钥解密示例程序


import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import javax.crypto.Cipher;
// 公钥加密,私钥解密示例程序
public class A {
& ......

java数据类型

java:4类8种基础数据类型:
整型:byte  short  int  long
浮点型: float  double
布尔型:boolean
字符型:char
除了4类8种基础数据类型,其他的数据类型都是引用类型例如定义的class 等等,这一点异常重要。否则会导致在使用container时出错,每添加一个对象进入container都必须是一个对象而不 ......

JAVA中的多线程

1、 认识Thread和Runnable
Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,建议用接口的方式生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。在使用Thread的时候只需继承Thread,并且new一个实例出来,调用start()方法即可以启动一个线程。
Thread Test = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号