天才教育網(wǎng)合作機構(gòu) > 編程語言培訓(xùn)機構(gòu) > java培訓(xùn)機構(gòu) >

全國千鋒IT培訓(xùn)

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:編程語言培訓(xùn)資訊 > java培訓(xùn)資訊 > java中的網(wǎng)絡(luò)編程,Java網(wǎng)絡(luò)編程(一):初體驗

java中的網(wǎng)絡(luò)編程,Java網(wǎng)絡(luò)編程(一):初體驗

日期:2021-07-30 19:15:57     瀏覽:225    來源:全國千鋒IT培訓(xùn)
核心提示:想了解java中的網(wǎng)絡(luò)編程嗎?想了解Java網(wǎng)絡(luò)編程(一):初體驗?? 嗎?......本文帶你一探究竟。1.Java網(wǎng)絡(luò)編程(一):初體驗有同學(xué)反應(yīng),光寫數(shù)據(jù)結(jié)構(gòu)太枯燥了,能不能搞點有趣的東西。嗯,我決定把網(wǎng)絡(luò)這一部分提到

想了解java中的網(wǎng)絡(luò)編程嗎?想了解Java網(wǎng)絡(luò)編程(一):初體驗?? 嗎?......本文帶你一探究竟。

1.Java網(wǎng)絡(luò)編程(一):初體驗

有同學(xué)反應(yīng),光寫數(shù)據(jù)結(jié)構(gòu)太枯燥了,能不能搞點有趣的東西。嗯,我決定把網(wǎng)絡(luò)這一部分提到前邊來,做一點有趣的東西。這節(jié)課,我們體驗一下Java網(wǎng)絡(luò)編程。Java語言被越來越多地應(yīng)用在網(wǎng)絡(luò)環(huán)境下,偏重于服務(wù)端的開發(fā),還有分布式系統(tǒng),軟件定義硬件功能的場景等等。這些場景下,都非常依賴于語言的網(wǎng)絡(luò)開發(fā)的能力。我們今天就嘗試使用一下Java的網(wǎng)絡(luò)編程。Java的網(wǎng)絡(luò)編程的接口大多數(shù)位于 和 java.nio 這兩個package里,掌握這兩個package是Java程序員必備的基礎(chǔ)技能。服務(wù)端連接網(wǎng)絡(luò)的過程和打電話的過程可以進(jìn)行類比。比如,在手機網(wǎng)絡(luò)中,每一個手機都有一個手機號,我們知道了某個提供服務(wù)的號碼(比如外賣電話,銀行電話等),撥通這個號碼,就可以進(jìn)行通話了。計算機網(wǎng)絡(luò)也差不多,在計算機網(wǎng)絡(luò)中,每個計算機上的每個網(wǎng)卡,都會有一個號碼相互識別,這個號碼在不同的場景下,會有不同的表現(xiàn),比如,網(wǎng)址:知乎 - 與世界分享你的知識、經(jīng)驗和見解,再比如IP地址,再比如mac地址。后面我們會一點點講解這些地址分別在什么場景下使用的。現(xiàn)在我們只需要知道一個服務(wù)端是要有一個地址的。而在我們的今天的場景下,這個地址(可以類比手機號碼)就是IP地址。不多說了,先上代碼,跑起來,大家就明白了。public class Server { public static void main(String args[]) throws { ss = new (8080); Socket conn = ss.accept(); br = new (new (conn.())); bw = new (new (conn.())); String s = br.readLine(); while (s != null) { System.out.println(s); bw.write(s.() + "\n"); bw.flush(); s = br.readLine(); } br.close(); bw.close(); conn.close(); } } 可以看到服務(wù)端在8080端口上開啟了一個,等待連接。大家可以單步調(diào)試一下,看看當(dāng)調(diào)用到accept的時候會發(fā)生什么情況。然后就是創(chuàng)建一個Reader用于從網(wǎng)絡(luò)上讀數(shù)據(jù),一個Writer向網(wǎng)絡(luò)上寫數(shù)據(jù)。讀進(jìn)來的一行,把它轉(zhuǎn)成大寫,再發(fā)回到客戶端。客戶端也把代碼放上來public class Client { public static void main(String args[]) throws { Socket conn = new Socket("127.0.0.1", 8080); br = new (new (conn.())); bw = new (new (conn.())); bw.write("hello\n"); bw.flush(); String s = br.readLine(); System.out.println(s); bw.write("world\n"); bw.flush(); s = br.readLine(); System.out.println(s); br.close(); bw.close(); conn.close(); } } 和服務(wù)端對應(yīng)的,客戶端創(chuàng)建一個Socket,這個 Socket 在構(gòu)造的時候就發(fā)起向服務(wù)端的連接。連接了以后,也創(chuàng)建一個 Reader,一個 Writer。接著向服務(wù)端發(fā)送了兩個小寫字符串。先運行服務(wù)端,再運行客戶端,我們可以看到這樣的結(jié)果:問題今天就先稍微體驗一下吧。這里涉及到socket,ip 地址, 端口號(程序中是8080)這些到底有什么關(guān)系?在Java虛擬機里到底是如何實現(xiàn)的?這些問題,我們會在接下來的課程里慢慢解釋。今天的作業(yè),從控制臺上輸入一個字符串,然后發(fā)送到服務(wù)端。上一節(jié)課:數(shù)據(jù)結(jié)構(gòu)(七):二叉樹的刪除和應(yīng)用舉例下一節(jié)課:分層網(wǎng)絡(luò)協(xié)議目錄:課程目錄

上述文章了解到關(guān)于Java網(wǎng)絡(luò)編程(一):初體驗?? ,讓我們對java中的網(wǎng)絡(luò)編程 有一個直觀的認(rèn)知。我們發(fā)現(xiàn),作為一個優(yōu)秀的Java程序員是多么的自豪。

本文由 全國千鋒IT培訓(xùn) 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢電話:400-850-8622

如果本頁不是您要找的課程,您也可以百度查找一下: