2019Android網絡編程面試題

1.網絡分層
OSI七層協(xié)議模型主要是:
1.應用層(Application)
2.表示層(Presentation)
3.會話層(Session)
4.傳輸層(Transport)
5.網絡層(Network)
6.數(shù)據鏈路層(Data Link)
7.物理層(Physical)

2.TCP/IP五層模型
TCP/IP五層模型:
1.應用層(Application)唆香、
2.傳輸層(Transport)、
3.網絡層(Network)裆装、
4.數(shù)據鏈路層(Data Link)果录、
5.物理層(Physical)。

3.三次握手與四次揮手
第一次握手:
客戶端發(fā)送syn包(syn=j)到服務器,并進入SYN_SEND狀態(tài)蔚出,等待服務器確認;

第二次握手:
服務器收到syn包虫腋,必須確認客戶的SYN(ack=j+1)骄酗,同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包悦冀,此時服務器進入SYN_RECV狀態(tài)趋翻;

第三次握手:
客戶端收到服務器的SYN+ACK包,向服務器發(fā)送確認包ACK(ack=k+1)盒蟆,此包發(fā)送完畢踏烙,客戶端和服務器進入ESTABLISHED狀態(tài),完成三次握手历等。

握手過程中傳送的包里不包含數(shù)據讨惩,三次握手完畢后,客戶端與服務器才正式開始傳送數(shù)據募闲。
理想狀態(tài)下步脓,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前浩螺,TCP 連接都將被一直保持下去。

斷開連接時服務器和客戶端均可以主動發(fā)起斷開TCP連接的請求仍侥,斷開過程需要經過“四次握手”

第一次揮手:
客戶端發(fā)送報文告訴服務器沒有數(shù)據要發(fā)送了

第二次揮手:
服務端收到要出,再發(fā)送給客戶端告訴它我收到了

第三次揮手:
服務端向客戶端發(fā)送報文,請求關閉連接

第四次揮手:
客戶端收到關閉連接的請求农渊,向服務端發(fā)送報文患蹂,服務端關閉連接

4.TCP為什么三次握手不是兩次握手,為什么兩次握手不安全
為了實現(xiàn)可靠數(shù)據傳輸砸紊, TCP 協(xié)議的通信雙方传于, 都必須維護一個序列號, 以標識發(fā)送出去的數(shù)據包中醉顽, 哪些是已經被對方收到的沼溜。

三次握手的過程即是通信雙方相互告知序列號起始值, 并確認對方已經收到了序列號起始值的必經步驟

如果只是兩次握手游添, 至多只有連接發(fā)起方的起始序列號能被確認系草, 另一方選擇的序列號則得不到確認

5.為什么TCP是可靠的通熄,UDP早不可靠的?為什么UDP比TCP快?
TCP/IP協(xié)議擁有三次握手雙向機制,這一機制保證校驗了數(shù)據找都,保證了他的可靠性唇辨。
UDP就沒有了,udp信息發(fā)出后,不驗證是否到達對方,所以不可靠能耻。

6.http協(xié)議
http協(xié)議是一個基于請求與響應模式的無連接赏枚,無狀態(tài),應用層的協(xié)議晓猛,支持c/s模式饿幅,簡單快速,靈活

簡單快速:協(xié)議簡單鞍帝,通信速度快
靈活:允許傳輸任意類型的數(shù)據對象诫睬,由Content-Type標記
無連接:每次處理一個請求,處理完成后既斷開
無狀態(tài):對事務處理沒有記憶能力
http有兩種報文:請求報文和響應報文
請求報文由請求行帕涌,請求報頭摄凡,和請求數(shù)據組成
請求行:抓包第一行,包括請求方法蚓曼,url和http版本
請求報頭:指的就是題目中“里面的協(xié)議頭部”
請求數(shù)據:指post方式提交的表單數(shù)據
響應報文由狀態(tài)行亲澡,響應報頭,響應正文組成
狀態(tài)行:狀態(tài)碼
響應報頭:同請求報頭
響應正文:服務器返回的資源數(shù)據
接下來是http頭部纫版,既請求報頭和響應報頭床绪,統(tǒng)稱消息報頭,消息報頭可以分為通用報頭其弊,請求報頭癞己,響應報頭,實體報頭等
通用報頭和實體報頭既可以出現(xiàn)在請求報頭中梭伐,也可以出現(xiàn)在響應報頭中痹雅,通用報頭包含的字段如:Date Connection Cache-Control,實體報頭中有Content-Type Content-Length Content-Language Content-Encoding.
請求報頭中包含的字段有:
Host,User-Agent,Accept-Encoding,Accept-Language,Connection
響應報頭包含的字段:
Location,Server

7.http的get和post的區(qū)別
http是應用層的協(xié)議糊识,底層基于TCP/IP協(xié)議绩社,所以本質上,get和post請求都是TCP請求赂苗。所以二者的區(qū)別都是體現(xiàn)在應用層上(HTTP的規(guī)定和瀏覽器/服務器的限制)

1.參數(shù)的傳輸方式:GET參數(shù)通過URL傳遞愉耙,POST放在Request body中。
2.GET請求在URL中傳送的參數(shù)是有長度限制的拌滋,而POST沒有朴沿。
3.對于GET方式的請求,瀏覽器會把http header和data一并發(fā)送出去鸠真,服務器響應200(返回數(shù)據)悯仙;而對于POST龄毡,瀏覽器先發(fā)送header,服務器響應100 continue锡垄,瀏覽器再發(fā)送data沦零,服務器響應200 ok(返回數(shù)據)。不過要注意货岭,并不是所有瀏覽器都會在POST中發(fā)送兩次包路操,比如火狐
4.對參數(shù)的數(shù)據類型,GET只接受ASCII字符千贯,而POST沒有限制屯仗。
5.GET比POST更不安全,因為參數(shù)直接暴露在URL上搔谴,所以不能用來傳遞敏感信息魁袜。
6.GET請求只能進行url編碼,而POST支持多種編碼方式敦第。
7.GET在瀏覽器回退時是無害的峰弹,而POST會再次提交請求。
8.GET產生的URL地址可以被Bookmark芜果,而POST不可以鞠呈。
9.GET請求會被瀏覽器主動cache,而POST不會右钾,除非手動設置蚁吝。

8.socket和http的區(qū)別:
Http連接:
http連接就是所謂的短連接,及客戶端向服務器發(fā)送一次請求舀射,服務器端相應后連接即會斷掉窘茁。

socket連接:
socket連接及時所謂的長連接,理論上客戶端和服務端一旦建立連接脆烟,則不會主動斷掉庙曙;但是由于各種環(huán)境因素可能會是連接斷開,比如說:服務器端或客戶端主機down了浩淘,網絡故障,或者兩者之間長時間沒有數(shù)據傳輸吴攒,網絡防火墻可能會斷開該鏈接已釋放網絡資源张抄。所以當一個socket連接中沒有數(shù)據的傳輸,那么為了位置連續(xù)的連接需要發(fā)送心跳消息洼怔,具體心跳消息格式是開發(fā)者自己定義的署惯。

9.TCP與UDP區(qū)別總結
1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的镣隶,即發(fā)送數(shù)據之前不需要建立連接
2极谊、TCP提供可靠的服務诡右。也就是說,通過TCP連接傳送的數(shù)據轻猖,無差錯帆吻,不丟失,不重復咙边,且按序到達;UDP盡最大努力交付猜煮,即不保 證可靠交付
3、TCP面向字節(jié)流败许,實際上是TCP把數(shù)據看成一連串無結構的字節(jié)流;UDP是面向報文的
UDP沒有擁塞控制王带,因此網絡出現(xiàn)擁塞不會使源主機的發(fā)送速率降低(對實時應用很有用,如IP電話市殷,實時視頻會議等)
4愕撰、每一條TCP連接只能是點到點的;UDP支持一對一,一對多醋寝,多對一和多對多的交互通信
5搞挣、TCP首部開銷20字節(jié);UDP的首部開銷小,只有8個字節(jié)
6甥桂、TCP的邏輯通信信道是全雙工的可靠信道柿究,UDP則是不可靠信道

10.https
HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道黄选,簡單講是HTTP的安全版蝇摸。HTTP是應用層協(xié)議,位于HTTP協(xié)議之下是傳輸協(xié)議TCP办陷。TCP負責傳輸貌夕,HTTP則定義了數(shù)據如何進行包裝,在HTTP跟TCP中間加多了一層加密層TLS/SSL民镜,SSL是個加密套件啡专,負責對HTTP的數(shù)據進行加密。TLS是SSL的升級版≈迫Γ現(xiàn)在提到HTTPS们童,加密套件基本指的是TLS。
傳輸加密的流程:http是應用層將數(shù)據直接給到TCP進行傳輸鲸鹦,https是應用層將數(shù)據給到TLS/SSL慧库,將數(shù)據加密后,再給到TCP進行傳輸馋嗜。
HTTPS是如何加密數(shù)據的:
一般來說齐板,加密分為對稱加密、非對稱加密

  1. 對稱加密
    對稱加密的意思就是,加密數(shù)據用的密鑰甘磨,跟解密數(shù)據用的密鑰是一樣的橡羞。
    對稱加密的優(yōu)點在于加密、解密效率通常比較高济舆。缺點在于卿泽,數(shù)據發(fā)送方、數(shù)據接收方需要協(xié)商吗冤、共享同一把密鑰又厉,并確保密鑰不泄露給其他人。傳輸過程中容易被截獲椎瘟。
    網上一個很形象的例子:假如現(xiàn)在小客與小服要進行一次私密的對話覆致,他們不希望這次對話內容被其他外人知道》挝担可是煌妈,我們平時的數(shù)據傳輸過程中又是明文傳輸?shù)模f一被某個黑客把他們的對話內容給竊取了宣羊,那就難受了璧诵。為了解決這個問題,小服這家伙想到了一個方法來加密數(shù)據仇冯,讓黑客看不到具體的內容之宿。該方法是這樣子的:在每次數(shù)據傳輸之前,小服會先傳輸小客一把密鑰苛坚,然后小服在之后給小客發(fā)消息的過程中比被,會用這把密鑰對這些消息進行加密。小客在收到這些消息后泼舱,會用之前小服給的那把密鑰對這些消息進行解密等缀,這樣,小客就能得到密文里面真正的數(shù)據了娇昙。如果小客要給小服發(fā)消息尺迂,也同樣用這把密鑰來對消息進行加密,小服收到后也用這把密鑰進行解密冒掌。 這樣噪裕,就保證了數(shù)據傳輸?shù)陌踩浴?/li>

2.非對稱加密
非對稱加密的意思就是,加密數(shù)據用的密鑰(公鑰)股毫,跟解密數(shù)據用的密鑰(私鑰)是不一樣的州疾。
網上一個很形象的例子:小服還是挺聰明的,得意了一會之后皇拣,小服意識到了密鑰會被截取這個問題。倔強的小服又想到了另外一種方法:用非對稱加密的方法來加密數(shù)據。該方法是這樣的:小服和小客都擁有兩把鑰匙氧急,一把鑰匙的公開的(全世界都知道也沒關系)颗胡,稱之為公鑰;而另一把鑰匙是保密(也就是只有自己才知道)吩坝,稱之為私鑰毒姨。并且,用公鑰加密的數(shù)據钉寝,只有對應的私鑰才能解密弧呐;用私鑰加密的數(shù)據,只有對應的公鑰才能解密嵌纲。所以在傳輸數(shù)據的過程中俘枫,小服在給小客傳輸數(shù)據的過程中,會用小客給他的公鑰進行加密逮走,然后小客收到后鸠蚪,再用自己的私鑰進行解密。小客給小服發(fā)消息的時候师溅,也一樣會用小服給他的公鑰進行加密茅信,然后小服再用自己的私鑰進行解密。 這樣墓臭,數(shù)據就能安全著到達雙方蘸鲸。是什么原因導致非對稱加密這種方法的不安全性呢?它和對稱加密方法的不安全性不同窿锉。非對稱加密之所以不安全酌摇,是因為小客收到了公鑰之后,無法確定這把公鑰是否真的是小服榆综。
解決的辦法就是數(shù)字證書:小服再給小客發(fā)公鑰的過程中妙痹,會把公鑰以及小服的個人信息通過Hash算法生成消息摘要,為了防止摘要被人調換鼻疮,小服還會用CA提供的私鑰對消息摘要進行加密來形成數(shù)字簽名怯伊,當小客拿到這份數(shù)字證書之后,就會用CA提供的公鑰來對數(shù)字證書里面的數(shù)字簽名進行解密得到消息摘要判沟,然后對數(shù)字證書里面小服的公鑰和個人信息進行Hash得到另一份消息摘要耿芹,然后把兩份消息摘要進行對比,如果一樣挪哄,則證明這些東西確實是小服的吧秕,否則就不是。

11.加密算法
1.對稱加密算法
Data Encryption Standard(DES)
DES 是一種典型的塊加密方法:將固定長度的明文通過一系列復雜的操作變成同樣長度的密文迹炼,塊的長度為64位砸彬。同時颠毙,DES 使用的密鑰來自定義變換過程,因此算法認為只有持有加密所用的密鑰的用戶才能解密密文砂碉。 DES 的密鑰表面上是64位的蛀蜜,實際有效密鑰長度為56位,其余8位可以用于奇偶校驗增蹭。
DES 現(xiàn)在已經不被視為一種安全的加密算法滴某,主要原因是它使用的56位密鑰過短。
為了提供實用所需的安全性滋迈,可以使用 DES 的派生算法 3DES 來進行加密 (雖然3DES 也存在理論上的攻擊方法)霎奢。
Advanced Encryption Standard(AES)
AES 在密碼學中又稱 Rijndael 加密法,用來替代原先的 DES饼灿,已經被多方分析且廣泛使用幕侠。
DES與AES的比較
自DES 算法公諸于世以來,學術界圍繞它的安全性等方面進行了研究并展開了激烈的爭論赔退。在技術上橙依,對DES的批評主要集中在以下幾個方面:
1、作為分組密碼硕旗,DES 的加密單位僅有64 位二進制窗骑,這對于數(shù)據傳輸來說太小,因為每個分組僅含8 個字符漆枚,而且其中某些位還要用于奇偶校驗或其他通訊開銷创译。
2、DES 的密鑰的位數(shù)太短墙基,只有56 比特软族,而且各次迭代中使用的密鑰是遞推產生的,這種相關必然降低密碼體制的安全性残制,在現(xiàn)有技術下用窮舉法尋找密鑰已趨于可行立砸。
3、DES 不能對抗差分和線性密碼分析初茶。
4颗祝、DES 用戶實際使用的密鑰長度為56bit,理論上最大加密強度為256恼布。DES 算法要提高加密強度(例如增加密鑰長度)螺戳,則系統(tǒng)開銷呈指數(shù)增長。除采用提高硬件功能和增加并行處理功能外折汞,從算法本身和軟件技術方面都無法提高DES 算法的加密強度倔幼。

  1. 非對稱加密算法
    RSA
    1977年由 MIT 的 Ron Rivest、Adi Shamir 和 Leonard Adleman 一起提出爽待,以他們三人姓氏開頭字母命名损同,是一種獲得廣泛使用的非對稱加密算法翩腐。
    對極大整數(shù)做因數(shù)分解的難度 (The Factoring Problem) 決定了 RSA 算法的可靠性。換言之揖庄,對一個極大整數(shù)做因數(shù)分解愈困難栗菜,RSA 算法就愈可靠。假如有人找到一種快速因數(shù)分解的算法的話蹄梢,那么用 RSA 加密的信息的可靠性就肯定會極度下降。目前看來找到這樣的算法的可能性非常小富俄。
    DES與RSA的比較
    RSA算法的密鑰很長禁炒,具有較好的安全性,但加密的計算量很大霍比,加密速度較慢限制了其應用范圍幕袱。為減少計算量,在傳送信息時悠瞬,常采用傳統(tǒng)加密方法與公開密鑰加密方法相結合的方式们豌,即信息采用改進的DES對話密鑰加密,然后使用RSA密鑰加密對話密鑰和信息摘要浅妆。對方收到信息后望迎,用不同的密鑰解密并可核對信息摘要。
    采用DES與RSA相結合的應用凌外,使它們的優(yōu)缺點正好互補辩尊,即DES加密速度快,適合加密較長的報文康辑,可用其加密明文摄欲;RSA加密速度慢,安全性好疮薇,應用于DES 密鑰的加密胸墙,可解決DES 密鑰分配的問題。
    目前這種RSA和DES結合的方法已成為EMAIL保密通信標準按咒。

12.Volley
1迟隅、Volley的特點
Volley是谷歌大會上推出的網絡通信框架(2.3之前使用HttpClient,之后使用HttpUrlConnection)胖齐,它既可以訪問網絡獲取數(shù)據玻淑,也可以加載圖片,并且在性能方面進行了大幅度的調整呀伙,它的設計目的就是適合進行數(shù)據量不大但通信頻繁的網絡操作补履,而對于大數(shù)據量的操作,比如文件下載剿另,表現(xiàn)很糟糕箫锤,因為volley處理http返回的默認實現(xiàn)是BasicNetwork贬蛙,它會把返回的流全部導入內存中,下載大文件會發(fā)生內存溢出

2谚攒、Volley執(zhí)行的過程:
默認情況下阳准,Volley中開啟四個網絡調度線程和一個緩存調度線程,首先請求會加入緩存隊列馏臭,野蝇,緩存調度線程從緩存隊列中取出線程,如果找到該請求的緩存就直接讀取該緩存并解析括儒,然后回調給主線程绕沈,如果沒有找到緩存的響應,則將這個請求加入網絡隊列帮寻,然后網絡調度線程會輪詢取出網絡隊列中的請求乍狐,發(fā)起http請求,解析響應并將響應存入緩存固逗,回調給主線程

3浅蚪、Volley為什么不適合下載上傳大文件?為什么適合數(shù)據量小的頻率高的請求烫罩?
1.volley基于請求隊列惜傲,Volley的網絡請求線程池默認大小為4淮逊。意味著可以并發(fā)進行4個請求半开,大于4個,會排在隊列中伙窃。并發(fā)量小所以適合數(shù)據量下頻率高的請求
2.因為Volley下載文件會將流存入內存中(是一個小于4k的緩存池)饿这,大文件會導致內存溢出浊伙,所以不能下載大文件,不能上傳大文件的原因和1中差不多长捧,設想你上傳了四個大文件嚣鄙,同時占用了volley的四個線程,導致其他網絡請求都阻塞在隊列中串结,造成反應慢的現(xiàn)象

13.OKHttp
1哑子、OKHttp的特點
1.相較于Volley,它的最大并發(fā)量為64
2.使用連接池技術肌割,支持5個并發(fā)的socket連接默認keepAlive時間為5分鐘卧蜓,解決TCP握手和揮手的效率問題,減少握手次數(shù)
3.支持Gzip壓縮把敞,且操作對用戶透明弥奸,可以通過header設置,在發(fā)起請求的時候自動加入header奋早,Accept-Encoding: gzip盛霎,而我們的服務器返回的時候header中有Content-Encoding: gzip
4.利用響應緩存來避免重復的網絡請求
5.很方便的添加攔截器赠橙,通常情況下,攔截器用來添加愤炸,移除期揪,轉換請求和響應的頭部信息,比如添加公參等
6.請求失敗规个,自動重連凤薛,發(fā)生異常時重連,看源碼調用recover方法重連了一次
7.支持SPDY協(xié)議(SPDY是Google開發(fā)的基于TCP的應用層協(xié)議诞仓,用以最小化網絡延遲枉侧,提升網絡速度,優(yōu)化用戶的網絡使用體驗狂芋。SPDY并不是一種用于替代HTTP的協(xié)議,而是對HTTP協(xié)議的增強憨栽。新協(xié)議的功能包括數(shù)據流的多路復用帜矾、請求優(yōu)先級以及HTTP報頭壓縮。谷歌表示屑柔,引入SPDY協(xié)議后屡萤,在實驗室測試中頁面加載速度比原先快64%)
8.使用Okio來簡化數(shù)據的訪問與存儲,提高性能

2掸宛、 OkHttp的缺點
1.消息回來需要切到主線程死陆,主線程要自己去寫。
2.調用比較復雜唧瘾,需要自己進行封裝措译。
3.緩存失效:網絡請求時一般都會獲取手機的一些硬件或網絡信息,比如使用的網絡環(huán)境饰序。同時為了信息傳輸?shù)陌踩粤旌纾赡苓€會對請求進行加密。在這些情況下OkHttp的緩存系統(tǒng)就會失效了求豫,導致用戶在無網絡情況下不能訪問緩存塌衰。

3、 OkHttp框架中都用到了哪些設計模式
1.最明顯的Builder設計模式蝠嘉,如構建對象OkHttpClient最疆,還有單利模式
2.工廠方法模式,如源碼中的接口Call
3.觀察者模式如EventListener蚤告,監(jiān)聽請求和響應
4.策略模式
5.責任鏈模式努酸,如攔截器

14.Retrofit
Retrofit底層是基于OkHttp實現(xiàn)的,與其他網絡框架不同的是罩缴,它更多使用運行時注解的方式提供功能

1蚊逢、原理
通過java接口以及注解來描述網絡請求层扶,并用動態(tài)代理的方式生成網絡請求的request,然后通過client調用相應的網絡框架(默認okhttp)去發(fā)起網絡請求烙荷,并將返回的response通過converterFactorty轉換成相應的數(shù)據model镜会,最后通過calladapter轉換成其他數(shù)據方式(如rxjava Observable)

2、Retrofit流程
(1)通過解析 網絡請求接口的注解 配置 網絡請求參數(shù)
(2)通過 動態(tài)代理 生成 網絡請求對象
(3)通過 網絡請求適配器 將 網絡請求對象 進行平臺適配
(4)通過 網絡請求執(zhí)行器 發(fā)送網絡請求
(5)通過 數(shù)據轉換器 解析服務器返回的數(shù)據
(6)通過 回調執(zhí)行器 切換線程(子線程 ->>主線程)
(7)用戶在主線程處理返回結果

3终抽、 Retrofit優(yōu)點
1.可以配置不同HTTP client來實現(xiàn)網絡請求戳表,如okhttp、httpclient等昼伴;
2.請求的方法參數(shù)注解都可以定制匾旭;
3.支持同步、異步和RxJava圃郊;
4.超級解耦价涝;
5.可以配置不同的反序列化工具來解析數(shù)據持舆,如json色瘩、xml等
6.框架使用了很多設計模式

至此,本篇已結束逸寓,如有不對的地方居兆,歡迎您的建議與指正。同時期待您的關注竹伸,感謝您的閱讀泥栖,謝謝!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末勋篓,一起剝皮案震驚了整個濱河市吧享,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌生巡,老刑警劉巖耙蔑,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異孤荣,居然都是意外死亡甸陌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門盐股,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钱豁,“玉大人,你說我怎么就攤上這事疯汁∩撸” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谤碳。 經常有香客問我溃卡,道長,這世上最難降的妖魔是什么蜒简? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任瘸羡,我火速辦了婚禮,結果婚禮上搓茬,老公的妹妹穿的比我還像新娘犹赖。我一直安慰自己,他們只是感情好卷仑,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布峻村。 她就那樣靜靜地躺著,像睡著了一般锡凝。 火紅的嫁衣襯著肌膚如雪粘昨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天窜锯,我揣著相機與錄音雾棺,去河邊找鬼。 笑死衬浑,一個胖子當著我的面吹牛,可吹牛的內容都是我干的放刨。 我是一名探鬼主播工秩,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼进统!你這毒婦竟也來了助币?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤螟碎,失蹤者是張志新(化名)和其女友劉穎眉菱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掉分,經...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡俭缓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了酥郭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片华坦。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖不从,靈堂內的尸體忽然破棺而出惜姐,到底是詐尸還是另有隱情,我是刑警寧澤椿息,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布歹袁,位于F島的核電站坷衍,受9級特大地震影響,放射性物質發(fā)生泄漏条舔。R本人自食惡果不足惜枫耳,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逞刷。 院中可真熱鬧嘉涌,春花似錦、人聲如沸夸浅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帆喇。三九已至警医,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坯钦,已是汗流浹背预皇。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留婉刀,地道東北人吟温。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像突颊,于是被迫代替她去往敵國和親鲁豪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內容

  • OSI七層模型 OSI七層協(xié)議模型主要是: 應用層(Application) 表示層(Presentation) ...
    門心叼龍閱讀 306評論 0 0
  • 1. 網絡分層 OSI七層模型OSI七層協(xié)議模型主要是:應用層(Application)律秃、表示層(Present...
    Fitz_e74a閱讀 7,316評論 1 10
  • 2019Android網絡編程總結 1.網絡分層 OSI七層模型OSI七層協(xié)議模型主要是:應用層(Applicat...
    小二二二7閱讀 266評論 1 1
  • 今天立冬爬橡,又趕上大風,帝都的天難得藍的那么遼闊棒动,厚厚的云重疊交錯糙申,看著就暖和…… 街上的黃葉一下子多了起來,陽光斑...
    盈映空空閱讀 233評論 0 0
  • 春天是許多慢性病病的高發(fā)期船惨,流感就是最常見的一種天氣柜裸,忽冷忽熱讓人防不勝防,身體免疫力差的人就很容易患上感冒粱锐,那么...
    錢罐子錢閱讀 248評論 0 1