<%
ip=Request.ServerVariables("REMOTE_ADDR")
select case ip
case "10.10.10.1"
ipp="一号宿舍"
case "10.10.10.2"
ipp="二号宿舍"
case "10.10.10.3"
ipp="三号宿舍"
'...
end select
response.write("你是"&ipp&"的同学!")
%>
也可以把case程序写成一个函数,调用函数即可.
首先保证两台计算机能够ping 通,并知道两台计算机IP地址
如A机器: 192.168.0.10 (装有oracle数据库)
B机器: 192.168.0.11
在B机器上安装oracle客户端(client)软件
配置tnsnames.ora文件(该文件在客户端安装位置的network/admin下,如:D:\oracle\product\11.2.0\client_1\network\admin)
tnsname.ora文件配置大致如下:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
其中hostname 是数据库服务器IP地址,service_name是数据库服务名(一般情况下与数据库名一致)
在B机器上命令行通过sqlplus scott/tiger@orcl 来连接数据库
1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig /all)2.根据IP类型,一次遍历局域网内IP地址
JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可
代码如下::
package bean
import java.io.*
import java.util.*
public class Ip{
static public HashMap ping//ping 后的结果集
public HashMap getPing(){ //用来得到ping后的结果集
return ping
}
//当前线程的数量, 防止过多线程摧毁电脑
static int threadCount = 0
public Ip() {
ping = new HashMap()
}
public void Ping(String ip) throws Exception{
//最多30个线程
while(threadCount>30)
Thread.sleep(50)
threadCount +=1
PingIp p = new PingIp(ip)
p.start()
}
public void PingAll() throws Exception{
//首先得到本机的IP,得到网段
InetAddress host = InetAddress.getLocalHost()
String hostAddress = host.getHostAddress()
int k=0
k=hostAddress.lastIndexOf(".")
String ss = hostAddress.substring(0,k+1)
for(int i=1i <=255i++){ //对所有局域网Ip
String iip=ss+i
Ping(iip)
}
//等着所有Ping结束
while(threadCount>0)
Thread.sleep(50)
}
public static void main(String[] args) throws Exception{
Ip ip= new Ip()
ip.PingAll()
java.util.Set entries = ping.entrySet()
Iterator iter=entries.iterator()
String k
while(iter.hasNext()){
Map.Entry entry=(Map.Entry)iter.next()
String key=(String)entry.getKey()
String value=(String)entry.getValue()
if(value.equals("true"))
System.out.println(key+"-->"+value)
}
}
class PingIp extends Thread{
public String ip// IP
public PingIp(String ip){
this.ip=ip
}
public void run(){
try{
Process p= Runtime.getRuntime().exec ("ping "+ip+ " -w 300 -n 1")
InputStreamReader ir = new InputStreamReader(p.getInputStream())
LineNumberReader input = new LineNumberReader (ir)
//读取结果行
for (int i=1 i <7i++)
input.readLine()
String line= input.readLine()
if (line.length() <17 || line.substring(8,17).equals("timed out"))
ping.put(ip,"false")
else
ping.put(ip,"true")
//线程结束
threadCount -= 1
}catch (IOException e){}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)