首先IP为一个字符串,例如:
class test{
static void Split(string ip,out string str1)
{
int i=iplength;
while(i>0)
{
char ch=ip[i-1];
if(ch==':')
break;
i--;
}
str1=ipSubstring(0,i);
}
static void Main()
{
string str1;
Split("1921680255:8080",out str1)
ConsoleWriteLine("{0}",str1);
}
}
str1中保存的就是你的ip,1921680255
有两种方法:
1对方访问你的主机上的java web项目,通过requestgetRemoteAddr();
2通过命令返回的结果
===============================
COLOR 0A
CLS
@ECHO Off
Title 查询局域网内在线电脑IP
:send
@ECHO off&setlocal enabledelayedexpansion
ECHO 正在获取本机的IP地址,请稍等
for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do (
set "IP=%%i"
set IP=!IP:~1,-1!
ECHO 本机IP为:!IP!
goto :next
)
:next
for /f "delims= tokens=1,2,3,4" %%i in ("%IP%") do set range=%%i%%j%%k
ECHO&ECHO 正在获取本网段内的其它在线计算机名,请稍等
ECHO 本网段%range%内的计算机有:
for /f "delims=" %%i in ('net view') do (
set "var=%%i"
::查询在线计算机名称
if "!var:~0,2!"=="\\" (
set "var=!var:~2!"
ECHO !var!
ping -n 1 !var!>nul
))
ECHO
ECHO 正在获取本网段内的其它在线计算机IP,请稍等
for /f "skip=3 tokens=1, delims= " %%i in ('arp -a') do ECHO IP: %%i 正在使用
ECHO
ECHO 查询完毕,按任意键退出
pause>nul
===============================
String cmd = "";
Runtime runtime = RuntimegetRuntime();
try {
Process process = runtimeexec(cmd);
InputStream in = processgetInputStream();
} catch (IOException e) {
eprintStackTrace();
}
通过java程序执行cmd命令截取返回结果可以得到所有的局域网类使用ip地址
剩下的自己组织我就不帮你了
为适应不同的网络情况,提供这个类:看下面的代码吧,Copy过去就能用。
import javaxservlet>
但是在测试的时候注意:我用的是weblogic测试的,在我的本机上开启服务,然后访问,由于同在一个局域网,因此下面这个方法返回的ip地址是127001,而同在一个局域网的机器访问的时候返回的ip是这台机器的ip地址1921681151,而外网的客户端访问的时候(这里不是说测试服务器可以被外网访问到),返回的ip是外网客户端的公网ip地址
public String getIpAddr(>
以上就是关于JAVA怎么获取服务器IP全部的内容,包括:JAVA怎么获取服务器IP、两台电脑用一根网线相连,怎么用java语言获取另一台电脑的IP地址和端口、java程序编写一个“用户一登陆网站就能获取他的电脑的IP” 有源码吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)