Java網(wǎng)絡(luò)實(shí)例

1、Java 實(shí)例 – 獲取指定主機(jī)的IP地址:使用 InetAddress 類的 InetAddress.getByName() 方法來(lái)獲取指定主機(jī)(網(wǎng)址)的IP地址办绝。

public class Net_GetIP {

public Net_GetIP() {

InetAddress address =null;

try {

address = InetAddress.getByName("www.baidu.com");

}

catch (UnknownHostException e) {

System.exit(2);

}

System.out.println(address.getHostName() +"的IP地址wei:" + address.getHostAddress());

System.exit(0);

}

}

執(zhí)行結(jié)果:

2、Java 實(shí)例 – 查看端口是否已使用:

public class Net_PortCheck {

public static void main(String[] args) {

Socket Skt;

String host ="localhost";

if (args.length >0) {

host = args[0];

}

for (int i =0; i <6; i++) {

try {

System.out.println("查看 "+ i +"未使用");

Skt =new Socket(host, i);

System.out.println("端口 " + i +" 已被使用");

}

catch (UnknownHostException e) {

System.out.println("Exception occured"+ e);

break;

}

catch (IOException e) {

}

}

}

}

執(zhí)行結(jié)果:

3艘希、Java 實(shí)例 – 獲取本機(jī)ip地址及主機(jī)名:使用 InetAddress 類的 getLocalAddress() 方法獲取本機(jī)ip地址及主機(jī)名贝攒。

public class Net_GetLocal {

public Net_GetLocal()throws Exception {

InetAddress addr = InetAddress.getLocalHost();

System.out.println("Local HostAddress: "+addr.getHostAddress());

String hostname = addr.getHostName();

System.out.println("Local host name: "+hostname);

}

}

執(zhí)行結(jié)果:

4锌杀、Java 實(shí)例 – 獲取遠(yuǎn)程文件大小:

public class Net_GetFileSize {

public Net_GetFileSize()throws Exception {

int size;

URL url =new URL("http://photocdn.sohu.com/20111207/Img328215620.jpg");

URLConnection conn = url.openConnection();

size = conn.getContentLength();

if (size <0)

System.out.println("無(wú)法獲取文件大小逝钥。");

else

? ? ? ? ? ? System.out.println("文件大小為:" + size +" bytes");

conn.getInputStream().close();

}

}

執(zhí)行結(jié)果:

5屑那、Java 實(shí)例 – Socket 實(shí)現(xiàn)多線程服務(wù)器程序:使用 Socket 類的 accept() 方法和 ServerSocket 類的 MultiThreadServer(socketname) 方法來(lái)實(shí)現(xiàn)多線程服務(wù)器程序。

public class Net_MultiThreadServerextends Thread{

Socketcsocket;

Net_MultiThreadServer(Socket csocket) {

this.csocket = csocket;

}

public static void main(String args[])

throws Exception {

ServerSocket ssock =new ServerSocket(1234);

System.out.println("Listening");

while (true) {

Socket sock = ssock.accept();

System.out.println("Connected");

new Thread(new Net_MultiThreadServer(sock)).start();

}

}

public void run() {

try {

PrintStream pstream =new PrintStream

(csocket.getOutputStream());

for (int i =100; i >=0; i--) {

pstream.println(i +

" bottles of beer on the wall");

}

pstream.close();

csocket.close();

}

catch (IOException e) {

System.out.println(e);

}

}

}

執(zhí)行結(jié)果:

6艘款、Java 實(shí)例 – 查看主機(jī)指定文件的最后修改時(shí)間:

public class Net_FileTime {

public Net_FileTime()throws Exception {

URL u =new URL("http://127.0.0.1/test/test.html");

URLConnection uc = u.openConnection();

SimpleDateFormat ft =new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

uc.setUseCaches(false);

long timestamp = uc.getLastModified();

System.out.println("test.html 文件最后修改時(shí)間 :" + ft.format(new Date(timestamp)));

}

}

執(zhí)行結(jié)果:

7持际、Java 實(shí)例 – 使用 Socket 連接到指定主機(jī):使用 net.Socket 類的 getInetAddress() 方法來(lái)連接到指定主機(jī)。

public class Net_Ping {

public static void main(String[] args) {

try {

InetAddress addr;

Socket sock =new Socket("www.baidu.com",80);

addr = sock.getInetAddress();

System.out.println("連接到 " + addr);

sock.close();

}catch (java.io.IOException e) {

System.out.println("無(wú)法連接 " + args[0]);

System.out.println(e);

}

}

}

執(zhí)行結(jié)果:

8哗咆、Java 實(shí)例 – 網(wǎng)頁(yè)抓戎┯:使用 net.URL 類的 URL() 構(gòu)造函數(shù)來(lái)抓取網(wǎng)頁(yè)。

public class Net_GetWeb {

public Net_GetWeb()throws Exception {

URL url =new URL("http://www.baidu.com");

BufferedReader reader =new BufferedReader

(new InputStreamReader(url.openStream()));

BufferedWriter writer =new BufferedWriter

(new FileWriter("data.html"));

String line;

while ((line = reader.readLine()) !=null) {

System.out.println(line);

writer.write(line);

writer.newLine();

}

reader.close();

writer.close();

}

}

執(zhí)行結(jié)果:

9晌柬、Java 實(shí)例 – 獲取 URL響應(yīng)頭的日期信息:使用 HttpURLConnection 的 httpCon.getDate() 方法來(lái)獲取 URL響應(yīng)頭的日期信息姥份。

public class Net_URLGetDate {

public Net_URLGetDate()throws Exception {

URL url =new URL("http://www.runoob.com");

HttpURLConnection httpCon =

(HttpURLConnection) url.openConnection();

long date = httpCon.getDate();

if (date ==0)

System.out.println("無(wú)法獲取信息郭脂。");

else

? ? ? ? ? ? System.out.println("Date: " +new Date(date));

}

}

執(zhí)行結(jié)果:

10、Java 實(shí)例 – 獲取 URL 響應(yīng)頭信息:

public class Net_URLCon {

public Net_URLCon()throws IOException {

URL url =new URL("http://www.baidu.com");

URLConnection conn = url.openConnection();

Map headers = conn.getHeaderFields();

Set keys = headers.keySet();

for( String key : keys ){

String val = conn.getHeaderField(key);

System.out.println(key+"? ? "+val);

}

System.out.println( conn.getLastModified() );

}

}

執(zhí)行結(jié)果:

11澈歉、Java 實(shí)例 – 解析 URL:使用 net.URL 類的 url.getProtocol() ,url.getFile() 等方法來(lái)解析 URL 地址展鸡。

public class Net_URLAnalyse {

public Net_URLAnalyse()throws Exception {

URL url =new URL("http://www.baidu.com");

System.out.println("URL 是 " + url.toString());

System.out.println("協(xié)議是 " + url.getProtocol());

System.out.println("文件名是 " + url.getFile());

System.out.println("主機(jī)是 " + url.getHost());

System.out.println("路徑是 " + url.getPath());

System.out.println("端口號(hào)是 " + url.getPort());

System.out.println("默認(rèn)端口號(hào)是 "

? ? ? ? ? ? ? ? + url.getDefaultPort());

}

}

執(zhí)行結(jié)果:

12、Java 實(shí)例 – ServerSocket 和 Socket 通信實(shí)例:

public class Server {

public static void main(String[] args) {

try {

ServerSocket ss =new ServerSocket(8888);

System.out.println("啟動(dòng)服務(wù)器....");

Socket s = ss.accept();

System.out.println("客戶端:"+s.getInetAddress().getLocalHost()+"已連接到服務(wù)器");

BufferedReader br =new BufferedReader(new InputStreamReader(s.getInputStream()));

//讀取客戶端發(fā)送來(lái)的消息

? ? ? ? ? ? String mess = br.readLine();

System.out.println("客戶端:"+mess);

BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

bw.write(mess+"\n");

bw.flush();

}catch (IOException e) {

e.printStackTrace();

}

}

}

······················································································

public class Client {

public static void main(String[] args) {

try {

Socket s =new Socket("127.0.0.1",8888);

//構(gòu)建IO

? ? ? ? ? ? InputStream is = s.getInputStream();

OutputStream os = s.getOutputStream();

BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(os));

//向服務(wù)器端發(fā)送一條消息

? ? ? ? ? ? bw.write("測(cè)試客戶端和服務(wù)器通信埃难,服務(wù)器接收到消息返回到客戶端\n");

bw.flush();

//讀取服務(wù)器返回的消息

? ? ? ? ? ? BufferedReader br =new BufferedReader(new InputStreamReader(is));

String mess = br.readLine();

System.out.println("服務(wù)器:"+mess);

}catch (UnknownHostException e) {

e.printStackTrace();

}catch (IOException e) {

e.printStackTrace();

}

}

}

執(zhí)行結(jié)果:



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末莹弊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涡尘,更是在濱河造成了極大的恐慌箱硕,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悟衩,死亡現(xiàn)場(chǎng)離奇詭異剧罩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)座泳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門惠昔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人挑势,你說我怎么就攤上這事镇防。” “怎么了潮饱?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵来氧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我香拉,道長(zhǎng)啦扬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任凫碌,我火速辦了婚禮扑毡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盛险。我一直安慰自己瞄摊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布苦掘。 她就那樣靜靜地躺著换帜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鹤啡。 梳的紋絲不亂的頭發(fā)上惯驼,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音揉忘,去河邊找鬼跳座。 笑死,一個(gè)胖子當(dāng)著我的面吹牛泣矛,可吹牛的內(nèi)容都是我干的疲眷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼您朽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼狂丝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起哗总,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤几颜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后讯屈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛋哭,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年涮母,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谆趾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叛本,死狀恐怖沪蓬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情来候,我是刑警寧澤跷叉,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站营搅,受9級(jí)特大地震影響云挟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜转质,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一植锉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峭拘,春花似錦俊庇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至拣展,卻和暖如春彭沼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背备埃。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工姓惑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留褐奴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓于毙,卻偏偏與公主長(zhǎng)得像敦冬,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唯沮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容