㈠ java 怎麼獲取web容器的ip和埠號
request.getRemoteAddr(); IP獲取
request.getRemotePort(): 埠號復
㈡ 如何用java程序獲得本機的埠號
你是不是想在JSP裡面,想獲取當前伺服器的埠呢?如果是的話,在JSP裡面,代碼回是答:request.getLocalPort();
如果想獲取客戶端的埠,JSP代碼是:request.getRemotePort();
你的問題描述的不是很清楚,很難確切的回答你。
㈢ 怎麼在tomcat啟動時自動執行一個java類 獲得本項目伺服器的IP和埠
@PostConstruct
publicvoidinit(){
try{
MBeanServerbeanServer=ManagementFactory.getPlatformMBeanServer();
Set<ObjectName>objectNames=beanServer.queryNames(newObjectName("*:type=Connector,*"),
Query.match(Query.attr("protocol"),Query.value("HTTP/1.1")));
serverIp=InetAddress.getLocalHost().getHostAddress();
serverPort=objectNames.iterator().next().getKeyProperty("port");
}catch(Exceptione){
e.printStackTrace();
}
}
這段代碼可以獲取到,但是存在一個問題就是在Linux環境下啟動項目的時候,
objectNames.iterator().next().getKeyProperty("port");這句會拋出異常:
java.util.NoSuchElementException。如果僅僅是在Windows下的話,上面的代碼完全OK
㈣ java如何實現從遠程ip和埠接收數,最好能夠給出源碼,類似於tcp/ip網路調試助手。
import java.net.*;
import java.io.*;
public class TestSocketClient {
public static void main(String[] args) {
{
Socket socket = new Socket("127.0.0.1", 5566);
System.out.println("請輸入計算式:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
dos.writeUTF(s1);
dos.flush();
double s = dis.readDouble();
System.out.println("計算結果:" + s);
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("連接出錯");
System.exit(-1);
}
}
}
伺服器端:
import java.net.*;
import java.io.*;
public class TestSocketServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(5566);
Socket socket = ss.accept();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
String s = null;
if ((s = dis.readUTF()) != null) {
System.out.println("接收到的算式:" + s);
double result = 0;
String[] sarr1 = s.split("[\\+\\-\\*\\/]");
double a = Double.parseDouble(sarr1[0].trim());
double b = Double.parseDouble(sarr1[1].trim());
String[] sarr2 = s.split("^(-?\\d+)(\\.\\d+)?");
char c = sarr2[1].trim().charAt(0);
switch (c) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = a / b;
break;
default:
break;
}
dos.writeDouble(result);
dos.flush();
}
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}
}
㈤ java的servlet 不通過request能獲取到伺服器IP與提供的埠號嗎。
這個可不是的,request相當於客戶端,瀏覽器端的請求,是通過request的構造方法進行表單的提交,然後再分裝到實體對象中,再調用業務層濟寧處理數據,然後後面再進行操作了
㈥ Java中伺服器端ServerSocket對象怎麼獲取伺服器端地址和埠號,怎麼獲取遠程請求的
ServerSocket s = new ServerSocket(8888);
while (true) {
// 建立連接
Socket socket = s.accept();
/ /getInetAddress()獲取遠程ip地址,getPort()遠程客戶端的斷後好
"你好,客戶端地專址信息: " + socket.getInetAddress() + "\t客戶端通信埠號屬: " + socket.getPort()
㈦ java 調用介面獲取伺服器IP和埠號
<%=
request.getservername()%>
伺服器的域名
<%=
java.net.inetaddress.getlocalhost().gethostaddress()
%>
伺服器的ip地址
<%=request.getserverport()%>
伺服器正在運行的埠
㈧ java編程,獲取區域網內伺服器端的ip地址
socket.connect(new InetSocketAddress(ip, port), timeout)
看有沒有拋異常 沒異常就是已經連接上了
想獲取伺服器名稱 可以用ARP協議 或者測試連接的時候伺服器回應一個名稱
package;
importjava.io.IOException;
importjava.net.InetSocketAddress;
importjava.net.Socket;
publicclassClient{
publicstaticvoidmain(String[]args){
/**
*埠號
*/
intport=10000;
/**
*連接延時
*/
inttimeout=300;
System.out.println("ScannerStart...");
Socketsocket;
/**
*掃描
*/
for(inti=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()+"IsWaiting...");
}
/**
*關閉連接
*/
if(socket!=null&&!socket.isClosed()){
try{
socket.close();
}catch(IOExceptione){
socket=null;
}
}
}
System.out.println("Scannerend...");
}
/**
*測試連接伺服器,返回連接成功後的Socket
*
*@paramip
*伺服器Ip
*@paramport
*伺服器埠號
*@paramtimeout
*連接延時
*@return返回連接成功後的Socket
*/
privatestaticSocketisOnLine(Stringip,intport,inttimeout){
Socketsocket=newSocket();
try{
socket.connect(newInetSocketAddress(ip,port),timeout);
}catch(IOExceptione){
returnnull;
}
returnsocket;
}
}