您的位置:首页 > 本地本地

JAVA怎么获取IP地址

admin2024-09-05人已围观

一、JAVA怎么获取IP地址

调用java.net包下面的的InetAddress类获取。

HttpServletRequest request=ServletActionContext.getRequest();

request.getRemoteAddr();

java代码获取ip地址方法是

调用java.net包下面的的InetAddress类获取。

String userIP=getRequest().getRemoteAddr();

二、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方法就同上代码咯……

serversocket()不提供这个方法,但是server端获取到的请求new serversocket()().accept()()返回的是一个socket()对象,也就是当前连接的信息,这里面包含有一个 getRemoteAddress方法。多看看API

ServerSocket ss = new ServerSocket(9999);

Socket s = ss.accept();

System.out.println(s.getInetAddress());

三、JAVA获取IP地址

public static void main(String[] args) { try { // 获取计算机名 String name = InetAddress.getLocalHost().getHostName(); // 获取IP地址 String ip = InetAddress.getLocalHost().getHostAddress(); System.out.println(计算机名:+name); System.out.println(IP地址:+ip); } catch (UnknownHostException e) { System.out.println(异常: + e); e.printStackTrace(); } }

是否可以解决您的问题?

获取ip地址不就好了,request.getRemoteAddr(); 然后存放图片的路径你自己设置拼接一下不就是公网的路径吗?

这个是获取不到的,因为有代理、端口映射等等转发情况的存在。为什么不保存相对路径/域名/或者在服务器上某个配置文件中配置域名/数据库中一个表/数据库中某个字段保存当前服务器的IP地址呢?

很赞哦! ()

上一篇:我的电脑里的一个磁盘不见了'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文