新聞中心
java tcp如何獲取網(wǎng)關(guān)代碼
您好,提問者:
創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
ServerSocket中有g(shù)etInetAddress()方法,返回 InetAddress類。
java 通過doc命令獲取IP 網(wǎng)關(guān)等 無法獲取出來???下面是代碼
回答完畢,采納即可。
import?java.io.BufferedReader;
import?java.io.BufferedWriter;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;
import?java.io.SequenceInputStream;
public?class?YuGiOh
{
public?static?String?getIPConfigAll?(String?key)
{
try
{
String?os?=?System.getProperty?("os.name");
if?(os.matches?("(?i).*window.*"))
{
Process?process?=?Runtime.getRuntime?().exec?("cmd");
SequenceInputStream?sis?=?new?SequenceInputStream?(process.getInputStream?(),?process.getErrorStream?());
InputStreamReader?isr?=?new?InputStreamReader?(sis,?"GBK");
BufferedReader?br?=?new?BufferedReader?(isr);
//?next?command
OutputStreamWriter?osw?=?new?OutputStreamWriter?(process.getOutputStream?());
BufferedWriter?bw?=?new?BufferedWriter?(osw);
bw.write?("ipconfig?/all");
bw.newLine?();
bw.flush?();
bw.close?();
osw.close?();
//?read
String?line?=?null;
while?(null?!=?(?line?=?br.readLine?()?))
{
if?(line.matches?("(?i)\\s*"?+?key?+?".*"))
{
return?line.replaceAll?("[^\\:]+\\:([^\\:]*)",?"$1").trim?();
}
}
process.destroy?();
br.close?();
isr.close?();
}
}
catch?(Exception?e)
{
e.printStackTrace?();
}
return?null;
}
public?static?void?main?(?String[]?args?)
{
System.out.println?(getIPConfigAll?("ip?address"));
System.out.println?(getIPConfigAll?("Autoconfiguration?IP?Address"));
System.out.println?(getIPConfigAll?("Host?Name"));
}
}
java如何實(shí)現(xiàn)對本機(jī)的ip地址 網(wǎng)關(guān)地址 子網(wǎng)
提供一種可行的方法。供你參考。思路是利用操作系統(tǒng)的shell,執(zhí)行相應(yīng)的命令。
以下以WINDOW操作系統(tǒng)為例。LINUX的思路相同。
1,在E;\下建立如下兩個(gè)bat文件,內(nèi)容分別如下:
e:\setip1.bat文件內(nèi)容:
rem??設(shè)置IP、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)
c:
cd?\
netsh?exec??e:\setip.bat
另一個(gè)文件e:\setip.bat文件內(nèi)容:
interface
ip
set?address?"本地連接"?static?192.168.1.111??255.255.255.0?192.168.1.1
exit
2,執(zhí)行腳本命令的JAVA程序
java程序改linux IP、子網(wǎng)和網(wǎng)關(guān)
???不懂 我就知道這點(diǎn)
ip addr add dev eth0
ip link set dev eth0
vi /etc/rc.d/rc.local ifcongfig etho IP或者寫個(gè)腳本
bash
再就是改/etc/sysconfig/network-scrips/ifcfg-eth0然后 ifdown eth0 再ifup eth0 或者service network restart 重啟網(wǎng)卡服務(wù) 就不用重啟LINUX了
SETUP 或者netconfig也可以
如何獲取到JAVA對象所在的內(nèi)存地址
1、首先打開java構(gòu)造方法代碼。
2、接下來就可以獲得網(wǎng)卡物理地址方法代碼。
3、然后得到獲得機(jī)器IP地址方法代碼。
4、然后得到獲得機(jī)器子網(wǎng)掩碼方法代碼。
5、然后得到獲得機(jī)器默認(rèn)網(wǎng)關(guān)方法代碼。
6、然后得到獲得DNS方法代碼。
7、最后得到主函數(shù)測試方法代碼。
擴(kuò)展資料
當(dāng)使用80386時(shí),必須區(qū)分以下三種不同的地址:
邏輯地址:機(jī)器語言指令仍用這種地址指定一個(gè)操作數(shù)的地址或一條指令的地址。這種尋址方式在Intel的分段結(jié)構(gòu)中表現(xiàn)得尤為具體,它使得MS-DOS或Windows程序員把程序分為若干段。每個(gè)邏輯地址都由一個(gè)段和偏移量組成。
線性地址:針對32位CPU,線性地址是一個(gè)32位的無符號整數(shù),可以表達(dá)高達(dá)232 (4GB)的地址。通常用16進(jìn)制表示線性地址,其取值范圍為0x00000000~0xffffffff。對64位CPU,線性地址是一個(gè)64位的無符號整數(shù),可以表達(dá)高達(dá)2??? 。
物理地址:也就是內(nèi)存單元的實(shí)際地址,用于芯片級內(nèi)存單元尋址。物理地址也由32位無符號整數(shù)表示。
電腦的內(nèi)存(尤其是指主存)是由許多“內(nèi)存地址”所組成的,每個(gè)內(nèi)存地址都有一個(gè)“物理地址”,能供CPU(或其他設(shè)備)訪問。一般,只有如BIOS、操作系統(tǒng)及部分特定之公用軟件(如內(nèi)存測試軟件)等系統(tǒng)軟件;
能使用機(jī)器碼的運(yùn)算對象或寄存器對物理地址定址,指示CPU要求內(nèi)存控制器之類的硬件設(shè)備,使用內(nèi)存總線或系統(tǒng)總線,亦或分別之控制總線、地址總線及數(shù)據(jù)總線,運(yùn)行該程序之命令。
內(nèi)存控制器的總線是由數(shù)條并行的線路所組成的,每條線路表示一個(gè)比特。總線的寬度因此依電腦不同,決定了可定址之存儲單位數(shù)量,以及每一單位內(nèi)的比特?cái)?shù)量。
計(jì)算機(jī)程序使用內(nèi)存地址來運(yùn)行機(jī)器碼、存儲及截取數(shù)據(jù)。大多數(shù)的應(yīng)用程序無法得知實(shí)際的物理地址,而是使用電腦的內(nèi)存管理單元及操作系統(tǒng)的內(nèi)存映射,為“邏輯地址”或虛擬地址定址。
參考資料:百度百科-內(nèi)存地址
網(wǎng)站標(biāo)題:java網(wǎng)關(guān)代碼 java 網(wǎng)關(guān)框架
文章位置:http://ef60e0e.cn/article/hpsjhh.html