網(wǎng)絡(luò)編程

一樱衷、網(wǎng)絡(luò)基礎(chǔ)

網(wǎng)絡(luò)編程的目的就是指直接或間接地通過網(wǎng)絡(luò)協(xié)議與其它計算機進行通訊

要想讓處于網(wǎng)絡(luò)中的主機互相通信抱婉,只是知道通信雙方地址還是不夠的晌坤,還必須遵循一定的規(guī)則TCP/IP參考模型(或TCP/IP協(xié)議):事實上的國際標準败京。

二兜喻、TCP 和 UDP

1、傳輸層協(xié)議中有兩個非常重要的協(xié)議:

a赡麦、傳輸控制協(xié)議TCP(Transmission Control Protocol)

傳輸控制協(xié)議TCP是面向連接的傳輸層協(xié)議朴皆。即應(yīng)用進程(或程序)在使用TCP協(xié)議之前帕识,必須先建立TCP連接,在傳輸完畢后遂铡,釋放已經(jīng)建立的連接肮疗。利用TCP協(xié)議進行通信的兩個應(yīng)用進程,一個是服務(wù)器進程扒接。另一個是客戶進程伪货。

a1、TCP程序設(shè)計

客戶端-服務(wù)器模型是最常見的網(wǎng)絡(luò)應(yīng)用程序模型钾怔。

當我們上網(wǎng)沖浪時碱呼,我們所使用的瀏覽器(例如IE)就是一個客戶端軟件

而提供網(wǎng)頁的站點必需運行一個WEB服務(wù)器。

一般而言:

主動發(fā)起通信的應(yīng)用程序?qū)儆诳蛻舳恕?/p>

服務(wù)器則是等待通信請求

當服務(wù)器收到客戶端的請求宗侦,執(zhí)行需要的運算然后向客戶端返回結(jié)果

a2愚臀、TCP程序設(shè)計

套接字(Socket)接口開發(fā)網(wǎng)絡(luò)應(yīng)用程序廣泛應(yīng)用,以至于成為事實上的標準矾利。套接字能執(zhí)行7種基本操作

連接到遠程主機

綁定到端口

接收從遠程機器來的連接請求

監(jiān)聽到達的數(shù)據(jù)

發(fā)送數(shù)據(jù)

接收數(shù)據(jù)

關(guān)閉連接姑裂。

a3、TCP網(wǎng)絡(luò)編程:

兩個Java應(yīng)用程序可通過一個雙向的網(wǎng)絡(luò)通信連接實現(xiàn)數(shù)據(jù)交換男旗,這個雙向鏈路的一段稱為一個Socket (套接字)舶斧。

Socket通常用來實現(xiàn)Client/Server 連接。

Java語言的基于套接字編程分為服務(wù)器編程和客戶端編程察皇,其通信模型如圖所示:


套接字編程

a4茴厉、客戶端基于Socket的程序:

客戶端Socket的工作過程包含以下四個基本的步驟:

1>、創(chuàng)建 Socket让网。根據(jù)指定的 IP 地址或端口號構(gòu)造 Socket 類對象呀忧。如服務(wù)器端響應(yīng),則建立客戶端到服務(wù)器的通信線路溃睹。

2>而账、打開連接到 Socket 的輸入/出流。 使用 getInputStream()方法獲得輸入流因篇,使用 getOutputStream()方法獲得輸出流泞辐。

3>、按照一定的協(xié)議對 Socket? 進行讀/寫操作竞滓。通過輸入流讀取服務(wù)器放入線路的信息(但不能讀取自己放入線路的信息)咐吼,通過輸出流將信息寫入線程。

4>商佑、關(guān)閉 Socket锯茄。斷開客戶端到服務(wù)器的連接,釋放線路

b、用戶數(shù)據(jù)報協(xié)議UDP(User Datagram Protocol)肌幽。

用戶數(shù)據(jù)報協(xié)議UDP是面向無連接的傳輸層協(xié)議晚碾。即應(yīng)用進程(或程序)在使用UDP協(xié)議之前,不必先建立連接喂急。自然格嘁,發(fā)送數(shù)據(jù)結(jié)束時也沒有連接需要釋放。因此廊移,減少了開銷和發(fā)送數(shù)據(jù)之前的時延糕簿。

b1、關(guān)于 UDP

類 DatagramSocket 和 DatagramPacket 實現(xiàn)了基于 UDP 協(xié)議網(wǎng)絡(luò)程序狡孔。

DatagramPacket 對象封裝了UDP數(shù)據(jù)報

在數(shù)據(jù)報中包含了客戶端的IP地址和端口號以及服務(wù)器的IP地址和端口號懂诗。

UDP數(shù)據(jù)報通過數(shù)據(jù)報套接字 DatagramSocket 發(fā)送和接收

系統(tǒng)不保證UDP數(shù)據(jù)報一定能夠安全送到目的地,也不能確定什么時候可以抵達苗膝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末响禽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子荚醒,更是在濱河造成了極大的恐慌,老刑警劉巖隆嗅,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件界阁,死亡現(xiàn)場離奇詭異,居然都是意外死亡胖喳,警方通過查閱死者的電腦和手機泡躯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丽焊,“玉大人较剃,你說我怎么就攤上這事〖冀。” “怎么了写穴?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雌贱。 經(jīng)常有香客問我啊送,道長,這世上最難降的妖魔是什么欣孤? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任馋没,我火速辦了婚禮,結(jié)果婚禮上降传,老公的妹妹穿的比我還像新娘篷朵。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布声旺。 她就那樣靜靜地躺著笔链,像睡著了一般。 火紅的嫁衣襯著肌膚如雪艾少。 梳的紋絲不亂的頭發(fā)上卡乾,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音缚够,去河邊找鬼幔妨。 笑死,一個胖子當著我的面吹牛谍椅,可吹牛的內(nèi)容都是我干的误堡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼雏吭,長吁一口氣:“原來是場噩夢啊……” “哼锁施!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杖们,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤悉抵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后摘完,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姥饰,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年孝治,在試婚紗的時候發(fā)現(xiàn)自己被綠了列粪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡谈飒,死狀恐怖岂座,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情杭措,我是刑警寧澤费什,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站瓤介,受9級特大地震影響吕喘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刑桑,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一氯质、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祠斧,春花似錦闻察、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呢灶。三九已至,卻和暖如春钉嘹,著一層夾襖步出監(jiān)牢的瞬間鸯乃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工跋涣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缨睡,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓陈辱,卻偏偏與公主長得像奖年,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子沛贪,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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

  • iOS網(wǎng)絡(luò)HTTP陋守、TCP、UDP利赋、Socket 知識總結(jié)OSI 七層模型我們一般使用的網(wǎng)絡(luò)數(shù)據(jù)傳輸由下而上共有七...
    蝸牛也有夢想閱讀 2,394評論 0 3
  • 1. 網(wǎng)絡(luò)編程概述 1.1 計算機網(wǎng)絡(luò) 是指將地理位置不同的具有獨立功能的多臺計算機及其外部設(shè)備水评,通過通信線路連接...
    JackChen1024閱讀 1,031評論 0 3
  • 引言 網(wǎng)絡(luò)學習的核心內(nèi)容就是網(wǎng)絡(luò)協(xié)議的學習 網(wǎng)絡(luò)協(xié)議:網(wǎng)絡(luò)中進行數(shù)據(jù)交換而建立的規(guī)則、標準或者說是約定的集合因為不...
    _涼風_閱讀 1,972評論 8 22
  • 一媚送、分段提煉: 1.第十一段:格拉德威爾沒有提及西蒙的貢獻之碗,而艾利克森也...
    你好222閱讀 118評論 0 0
  • 昨天是我計劃中應(yīng)該跑步的日子,大姨媽來了都沒阻止我的步伐季希。 但是考慮到姨媽期的脆弱,還是跑得慢了點兒幽纷。跑完基本沒覺...
    歌唄lrf閱讀 231評論 0 0