「java访问内网地址」怎样访问内网地址

博主:adminadmin 2022-12-04 05:12:08 65

今天给各位分享java访问内网地址的知识,其中也会对怎样访问内网地址进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java项目如何修改访问访问地址

这个与部署无关,与tomcat服务器配置有关,

记事本打开配置文件server.xml,可以参照下面的配置,增加或修改address内容为192.168.99.3,如下:

Connector port="8084" address="192.168.99.3" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" /

参照上面的代码修改你的server.xml,修改好后重新启动tomcat服务器,即可。

java怎么获取当前电脑的内网ip

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=1;i =255;i++){ //对所有局域网Ip

String iip=ss+i;

Ping(iip);

}

java编程,获取局域网内服务器端的ip地址

socket.connect(new InetSocketAddress(ip, port), timeout)

看有没有抛异常   没异常就是已经连接上了

想获取服务器名称    可以用ARP协议   或者测试连接的时候服务器回应一个名称

package baiduzhidao;

import java.io.IOException;

import java.net.InetSocketAddress;

import java.net.Socket;

public class Client {

    public static void main(String[] args) {

        /**

         * 端口号

         */

        int port = 10000;

        /**

         * 连接延时

         */

        int timeout = 300;

        System.out.println("Scanner Start...");

        Socket socket;

        /**

         * 扫描

         */

        for (int i = 1, k = 254; i  k; i++) {

            if ((socket = isOnLine("192.168.1." + i, port, timeout)) != null) {

                System.out.println("Server:"

                        + socket.getInetAddress().getHostAddress()

                        + ":" + socket.getPort() + " Is Waiting...");

            }

            /**

             * 关闭连接

             */

            if (socket != null  !socket.isClosed()) {

                try {

                    socket.close();

                } catch (IOException e) {

                    socket = null;

                }

            }

        }

        System.out.println("Scanner end...");

    }

    /**

     * 测试连接服务器,返回连接成功后的Socket

     * 

     * @param ip

     *            服务器Ip

     * @param port

     *            服务器端口号

     * @param timeout

     *            连接延时

     * @return 返回连接成功后的Socket

     */

    private static Socket isOnLine(String ip, int port, int timeout) {

        Socket socket = new Socket();

        try {

            socket.connect(new InetSocketAddress(ip, port), timeout);

        } catch (IOException e) {

            return null;

        }

        return socket;

    }

}

java获取局域网ip地址 具体代码

import java.io.*;

import java.util.*;

import java.net.InetAddress;

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(threadCount30)

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=1;i =255;i++){ //对所有局域网Ip

String iip=ss+i;

Ping(iip);

}

//等着所有Ping结束

while(threadCount0)

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 7; i++)

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){}

}

}

}

java socket编程 怎么访问内网的服务器

我的方向有点和你不一样,但是关于socket的一般是差不多的,建议你找找socket流的知识.

Socket内含输入,输出流,只需获取Socket的流对象,就可以对流进行读写操作了。比如,若想向Socket的输出流写数据,只须另一方从自己的Socket的输入流中读取数据即可给你个例子吧,是模拟客户端和服务器端的数据交互.

//客户端import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.Socket;

public class MyClent { public static void main(String[] args) { PrintStream ps = null; BufferedReader br = null; BufferedReader message = null; try { Socket scoket = new Socket("127.0.0.1", 1254); ps = new PrintStream(scoket.getOutputStream()); br = new BufferedReader(new InputStreamReader(scoket.getInputStream())); message = new BufferedReader(new InputStreamReader(System.in)); while(true){ ps.println("客户端向服务器发送的数据是:"+message.readLine()); System.out.println(br.readLine()); ps.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}

//服务器端import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;

public class MyServer {

/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub PrintStream ps = null; BufferedReader br = null; BufferedReader message = null; try { ServerSocket server = new ServerSocket(1254); Socket scoket = server.accept();// new Test(scoket); ps = new PrintStream(scoket.getOutputStream()); br = new BufferedReader(new InputStreamReader(scoket.getInputStream())); message = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.println(br.readLine()); ps.println("服务器向客户端发送的数据是:"+message.readLine()); ps.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }

}/p/font/p

如何用java获得局域网内所有ip?最好用arp方法,ping的太慢

需要遍历局域网IP的,大体分为两步:

1.得到局域网网段,可由自己机器的IP来确定

2.根据IP类型,一次遍历局域网内IP地址 给一个JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用自己编写相应代码调用便可 代码如下:

package bean;

import java.io.*;

import java.util.*;

java访问内网地址的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于怎样访问内网地址、java访问内网地址的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-04,除非注明,否则均为首码项目网原创文章,转载请注明出处。