Android開發(fā)學(xué)習(xí)——Day18(網(wǎng)絡(luò)編程&實(shí)戰(zhàn):模擬聊天器)

學(xué)習(xí)目的

初步了解網(wǎng)絡(luò)編程的概念和簡(jiǎn)單使用

學(xué)習(xí)過程

大致閱讀了一下關(guān)于網(wǎng)絡(luò)編程的知識(shí)筑累,進(jìn)而以實(shí)戰(zhàn)來反復(fù)練習(xí)所掌握的具體編程內(nèi)容。

技術(shù)

1.基礎(chǔ)知識(shí):

1)網(wǎng)絡(luò)編程:在兩臺(tái)不同的計(jì)算機(jī)之間傳遞數(shù)據(jù)

舉例:qq聊天叙淌、新聞app(刷新界面就有數(shù)據(jù))打開瀏覽器(網(wǎng)頁 www.baidu.com)

2)客戶端與服務(wù)器端

1>客戶端:手機(jī)app、瀏覽器愁铺、qq ? --->(操作數(shù)據(jù)平臺(tái))

2>服務(wù)器端:存儲(chǔ)/處理數(shù)據(jù) --->(數(shù)據(jù)集散平臺(tái))

3)談?wù)刄RL:url(URL)地址:統(tǒng)一的資源定位

用一個(gè)例子來說明:http://www.baidu.com/search?code=android&type=1

-》http/https:傳輸協(xié)議 Tcp/IP

-》www.baidu.com:域名->表示一臺(tái)網(wǎng)絡(luò)中的電腦

-》ipv4 ipv6 地址:唯一標(biāo)識(shí)一臺(tái)網(wǎng)絡(luò)中的計(jì)算機(jī)

-》32位:四個(gè)部分每個(gè)是八個(gè)字節(jié)? 10.129.26.215

-》DNS服務(wù)器:域名解析 將www.baidu.com類型的域名解析為對(duì)應(yīng)的ip地址

-》search 對(duì)應(yīng)的后臺(tái)程序文件 用 php java jsp 來進(jìn)行后臺(tái)開發(fā)

-》“?”表示運(yùn)行這個(gè)程序需要傳遞的參數(shù)

-》code = android code是服務(wù)器端規(guī)定的字段

-》“&” 如果有多個(gè)參數(shù)使用&符號(hào)鏈接

4)電腦鹰霍,你的名字!

1>ip地址:唯一標(biāo)識(shí)某一臺(tái)電腦

2>端口號(hào):唯一標(biāo)識(shí)這臺(tái)電腦上的某一個(gè)程序(進(jìn)程)

5)數(shù)傳輸協(xié)議:TCP/IP協(xié)議

1>TCP:面向鏈接的 安全的

2>UDP:面向無連接的 不安全 但是快

實(shí)現(xiàn)網(wǎng)絡(luò)中的數(shù)據(jù)傳輸:Socket實(shí)現(xiàn) -> 套接字

-》Socket:客戶端

-》ServerSocket:服務(wù)器端

2.實(shí)戰(zhàn):模擬聊天器

我們先看看效果:


實(shí)現(xiàn)效果--客戶端界面(輸入)


實(shí)現(xiàn)效果--服務(wù)器界面(接收)


實(shí)現(xiàn)效果--服務(wù)器界面(輸入)


實(shí)現(xiàn)效果--客戶端界面(接收)

這個(gè)程序模擬的是客戶端和服務(wù)器之間的簡(jiǎn)單“聊天”茵乱,首先從客戶端終端鍵入“服務(wù)器茂洒,你好哇!我是客戶端瓶竭!”督勺,服務(wù)器接收到,并在服務(wù)器終端打印出來斤贰;服務(wù)器端鍵入數(shù)據(jù)智哀,客戶端接收也是如此過程。

具體代碼如下:


代碼實(shí)現(xiàn)--服務(wù)器端

服務(wù)器端的代碼荧恍,首先創(chuàng)建socket套接字瓷叫,與客戶端相連;然后在主線程中實(shí)現(xiàn)“通過終端向客戶端寫入數(shù)據(jù)”功能;在子線程中實(shí)現(xiàn)“從客戶端讀入數(shù)據(jù)”功能赞辩。


代碼實(shí)現(xiàn)--客戶端

客戶端代碼的實(shí)現(xiàn)類似于服務(wù)器端,不過上圖代碼箭頭所示是向服務(wù)器寫入數(shù)據(jù)中的輸出流授艰,這和服務(wù)器端中的實(shí)現(xiàn)不同(其實(shí)也可以相同)辨嗽。我發(fā)現(xiàn)如此用,在寫出數(shù)據(jù)時(shí)就得像上圖圈中所示淮腾,三句并用才能實(shí)現(xiàn)功能了糟需,僅作提醒。因?yàn)檫@兩者區(qū)別在于:在BufferedWriter中谷朝,write()要輸出換行標(biāo)識(shí)洲押,要調(diào)用flush()刷新緩沖區(qū);而PrintStream直接調(diào)用輸出方法即可圆凰。

感悟

經(jīng)過對(duì)網(wǎng)絡(luò)編程的簡(jiǎn)單學(xué)習(xí)杈帐,我覺得其實(shí)以前覺得復(fù)雜的通信交互也就這么回事,遠(yuǎn)沒有想象中的那么深?yuàn)W晦澀专钉。而且上手輕松挑童,思路清晰,趣味無窮跃须。直至今天的實(shí)戰(zhàn)項(xiàng)目完成后站叼,我覺得前面若干天的學(xué)習(xí)都是值得的,有意思的東西來了菇民【⌒ǎ”編程,以指尖改變世界第练!“——作者按阔馋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市复旬,隨后出現(xiàn)的幾起案子垦缅,更是在濱河造成了極大的恐慌,老刑警劉巖驹碍,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壁涎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡志秃,警方通過查閱死者的電腦和手機(jī)怔球,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浮还,“玉大人竟坛,你說我怎么就攤上這事。” “怎么了担汤?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵涎跨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我崭歧,道長(zhǎng)隅很,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任率碾,我火速辦了婚禮叔营,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘所宰。我一直安慰自己绒尊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布仔粥。 她就那樣靜靜地躺著婴谱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躯泰。 梳的紋絲不亂的頭發(fā)上勘究,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音斟冕,去河邊找鬼口糕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛磕蛇,可吹牛的內(nèi)容都是我干的景描。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秀撇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼超棺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起呵燕,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤棠绘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后再扭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氧苍,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年泛范,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了让虐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡罢荡,死狀恐怖赡突,靈堂內(nèi)的尸體忽然破棺而出对扶,到底是詐尸還是另有隱情,我是刑警寧澤惭缰,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布浪南,位于F島的核電站,受9級(jí)特大地震影響漱受,放射性物質(zhì)發(fā)生泄漏逞泄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一拜效、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧各谚,春花似錦紧憾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至膀息,卻和暖如春般眉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潜支。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國打工甸赃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冗酿。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓埠对,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親裁替。 傳聞我的和親對(duì)象是個(gè)殘疾皇子项玛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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

  • 計(jì)算機(jī)網(wǎng)絡(luò)概述 網(wǎng)絡(luò)編程的實(shí)質(zhì)就是兩個(gè)(或多個(gè))設(shè)備(例如計(jì)算機(jī))之間的數(shù)據(jù)傳輸。 按照計(jì)算機(jī)網(wǎng)絡(luò)的定義弱判,通過一定...
    蛋炒飯_By閱讀 1,226評(píng)論 0 10
  • 網(wǎng)絡(luò)編程 一.楔子 你現(xiàn)在已經(jīng)學(xué)會(huì)了寫python代碼昌腰,假如你寫了兩個(gè)python文件a.py和b.py开伏,分別去運(yùn)...
    go以恒閱讀 2,016評(píng)論 0 6
  • 文章首發(fā)于個(gè)人blog歡迎指正補(bǔ)充,可聯(lián)系lionsom_lin@qq.com原文地址:《網(wǎng)絡(luò)是怎樣連接的》閱讀整...
    lionsom_lin閱讀 14,148評(píng)論 6 31
  • 1.網(wǎng)絡(luò)編程1.1計(jì)算機(jī)網(wǎng)絡(luò)概述網(wǎng)絡(luò)編程的實(shí)質(zhì)就是兩個(gè)(或多個(gè))設(shè)備(例如計(jì)算機(jī))之間的數(shù)據(jù)傳輸遭商。按照計(jì)算機(jī)網(wǎng)絡(luò)的...
    任振銘閱讀 426評(píng)論 0 1
  • iOS網(wǎng)絡(luò)HTTP硅则、TCP、UDP株婴、Socket 知識(shí)總結(jié)OSI 七層模型我們一般使用的網(wǎng)絡(luò)數(shù)據(jù)傳輸由下而上共有七...
    蝸牛也有夢(mèng)想閱讀 2,406評(píng)論 0 3