导航:首页 > IDC知识 > java服务器客户端ip地址

java服务器客户端ip地址

发布时间:2020-11-27 20:45:15

1、在一个java接口中获取请求客户端的IP地址

你不是web项目那么request是什么了?
你可以定义一个接口,接口中有setRequest方法,和getRemoteAddr方法
然后在内你的主Servlet中将Request设置进去容,
再通过getRemoteAddr方法取得IP
实现类中定义一个Request属性,通过setRequest方法设置,
getRemoteAddr方法调用request.getRemoteAddr方法。

还是没有搞明白你到底要干什么为什么没有request~web项目到处都是request啊~

2、java服务器端需要IP吗

Socket服务器建立时一般要来绑定地址源,这个地址就是你看到的127.0.0.1或者0
如果Socket服务器明确绑定一个地址时,那么客户端就只能用这个IP连接,假如一个服务器有多个IP地址的话,就会有麻烦,因此,Socket服务器通常都不绑定具体的IP地址。所以大部分表现是0.0.0.0

127.0.0.1是localhost,就是访问本机的IP地址,因为他是固定的,所以大部分教程里都会使用这个IP。

3、请问怎样让客户端知道服务器端的IP地址。java TCP Socket编程。

你这个问题就好像问别人,怎么才能知道对方的电话号码一样。只有一个方内法,让对方告诉你容。
连接服务器也一样,让服务器告诉你他的ip地址。
服务器的ip地址它的管理员一定知道。如果服务器端是你自己开发的,那你就更应该清楚才对。

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

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

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

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

package baidu;

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;
    }

}

5、在java后台服务器,如何根据HttpSession获得客户端ip?

只能根据用户请求带过来的sessionID所匹配的ip地址 而且只可以通过request获得ip 反正你能得到session 那得到request是一样版简单的不是吗
得到request后命权令为:

String ip = request.getRemoteAddr();
这个ip字符串就是了

6、java服务端如何获得客户端的ip

网络通信可分为两种模式:TCP有连接的通信
UDP无连接的通信
依照上述的问题我可以理解为你是要进行有连接的通信。是要经过三次握手才能实现可靠的连接
第一次:建立连接时三次握手,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN(Synchronize Sequence Numbers)同步序列号。

服务器端即可使用:
Socket s=serverSocket.accept();
String clientIP=s.getInetAddress().toString();

这就实现了java服务器端获取到连接此服务器的客户端的IP了,你若想实现获取所有连接此服务器的客户端的IP,你可以把每次accept()返回的socket放进全局的Vector里面,然后在遍历这个vector方法就同上代码咯……

7、Java 客户端通过服务器1访问服务器2 ,服务器2怎么获取客户端ip

你可以加参数或头信息啊!比如你客户端1的iP是10.10.10.88;你访问服务器1,服务器1知道你客户端的IP,服务器1访问服务器2的时候把这个客户端的IP当参数传给服务器2不得了

8、java 获取客户端ip地址

如果能过http 请求,那获得真实的ip的方法是使用request.getRemoteAddr(),
若客户端使用了代理 ,请参考:专http://sonicmq.javaeye.com/blog/416565

如果是C/S的程序
客户端调用属InetAddress.getLocalHost()得到的是客户端的内网ip

9、在Linux系统下用Java语言获取客户端的IP地址,MAC地址,客户端的主机名称?

这个网上很copy多,主要是机器必须支持ICMP和NETBIOS协议。你参考一下:
public String getIP()
{
InetAddress inet;
try {
inet =
InetAddress.getLocalHost();
InetAddress.getByName("");
return
inet.getHostAddress();
} catch (UnknownHostException e) {
// TODO
Auto-generated catch block
e.printStackTrace();
}
return "";
}

10、用java写的corba服务器中,如何知道调用服务的客户端的ip地址啊

在CORBA应用层,如果server需要知道client的ip地址,一般采用的方式是某个接口调用的时候版,client将相应的信息传递给server。
如果不权是采用这种方式,那么在CORBA应用层上,server是无法获得client的ip地址。
当然,CORBA的底层通讯使用的是TCP/IP协议,从理论上讲,从IP报文中可以获得client的ip地址。但是,这需要你深入到CORBA层以下取研究了。

与java服务器客户端ip地址相关的知识