【go語言學(xué)習(xí)】網(wǎng)絡(luò)編程基礎(chǔ)

一接癌、TCP/IP協(xié)議

計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信心赶,雙方就必須基于相同的方法。比如缺猛,如何探測(cè)到通信目標(biāo)缨叫、由哪一邊先發(fā)起通信、使用哪種語言進(jìn)行通信荔燎、怎樣結(jié)束通信等規(guī)則都需要事先確定耻姥。不同的硬件、操作系統(tǒng)之間的通信有咨,所有的這一切都需要一種規(guī)則咏闪。而我們就把這種規(guī)則稱為協(xié)議(protocol)。

TCP/IP 是互聯(lián)網(wǎng)相關(guān)的各類協(xié)議族的總稱摔吏,比如:TCP鸽嫂,UDP,IP征讲,F(xiàn)TP据某,HTTP,ICMP诗箍,SMTP 等都屬于 TCP/IP 族內(nèi)的協(xié)議癣籽。

TCP/IP模型是互聯(lián)網(wǎng)的基礎(chǔ),它是一系列網(wǎng)絡(luò)協(xié)議的總稱滤祖。這些協(xié)議可以劃分為四層筷狼,分別為鏈路層、網(wǎng)絡(luò)層匠童、傳輸層和應(yīng)用層埂材。

  • 鏈路層:負(fù)責(zé)封裝和解封裝IP報(bào)文,發(fā)送和接受ARP/RARP報(bào)文等汤求。
  • 網(wǎng)絡(luò)層:負(fù)責(zé)路由以及把分組報(bào)文發(fā)送給目標(biāo)網(wǎng)絡(luò)或主機(jī)俏险。
  • 傳輸層:負(fù)責(zé)對(duì)報(bào)文進(jìn)行分組和重組,并以TCP或UDP協(xié)議格式封裝報(bào)文扬绪。
  • 應(yīng)用層:負(fù)責(zé)向用戶提供應(yīng)用程序竖独,比如HTTP、FTP挤牛、Telnet莹痢、DNS、SMTP等墓赴。
OSI七層模型 TCP/IP概念層模型 功能 TCP/IP協(xié)議族
應(yīng)用層 應(yīng)用層 文件傳輸竞膳,電子郵件,文件服務(wù)竣蹦,虛擬終端 TFTP顶猜,HTTP,SNMP痘括,F(xiàn)TP长窄,SMTP,DNS纲菌,Telnet 等等
表示層 應(yīng)用層 數(shù)據(jù)格式化挠日,代碼轉(zhuǎn)換,數(shù)據(jù)加密 沒有協(xié)議
會(huì)話層 應(yīng)用層 解除或建立與別的接點(diǎn)的聯(lián)系 沒有協(xié)議
傳輸層 傳輸層 提供端對(duì)端的接口 TCP翰舌,UDP
網(wǎng)絡(luò)層 網(wǎng)絡(luò)層 提供端對(duì)端的接口 IP嚣潜,ICMP,OSPF椅贱,EIGRP懂算,IGMP
數(shù)據(jù)鏈路層 鏈路層 傳輸有地址的幀以及錯(cuò)誤檢測(cè)功能 SLIP只冻,CSLIP,PPP计技,MTU
物理層 鏈路層 以二進(jìn)制數(shù)據(jù)形式在物理媒體上傳輸數(shù)據(jù) ISO2110喜德,IEEE802,IEEE802.2

在網(wǎng)絡(luò)體系結(jié)構(gòu)中網(wǎng)絡(luò)通信的建立必須是在通信雙方的對(duì)等層進(jìn)行垮媒,不能交錯(cuò)舍悯。 在整個(gè)數(shù)據(jù)傳輸過程中,數(shù)據(jù)在發(fā)送端時(shí)經(jīng)過各層時(shí)都要附加上相應(yīng)層的協(xié)議頭和協(xié)議尾(僅數(shù)據(jù)鏈路層需要封裝協(xié)議尾)部分睡雇,也就是要對(duì)數(shù)據(jù)進(jìn)行協(xié)議封裝萌衬,以標(biāo)識(shí)對(duì)應(yīng)層所用的通信協(xié)議。

二它抱、TCP

當(dāng)一臺(tái)計(jì)算機(jī)想要與另一臺(tái)計(jì)算機(jī)通訊時(shí)秕豫,兩臺(tái)計(jì)算機(jī)之間的通信需要暢通且可靠,這樣才能保證正確收發(fā)數(shù)據(jù)抗愁。例如馁蒂,當(dāng)你想查看網(wǎng)頁或查看電子郵件時(shí),希望完整且按順序查看網(wǎng)頁蜘腌,而不丟失任何內(nèi)容沫屡。當(dāng)你下載文件時(shí),希望獲得的是完整的文件撮珠,而不僅僅是文件的一部分沮脖,因?yàn)槿绻麛?shù)據(jù)丟失或亂序,都不是你希望得到的結(jié)果芯急,于是就用到了TCP勺届。

TCP協(xié)議全稱是傳輸控制協(xié)議是一種面向連接的、可靠的娶耍、基于字節(jié)流的傳輸層通信協(xié)議免姿,由 IETF 的RFC 793定義。TCP 是面向連接的榕酒、可靠的流協(xié)議胚膊。流就是指不間斷的數(shù)據(jù)結(jié)構(gòu),你可以把它想象成排水管中的水流想鹰。

1. TCP連接過程

如下圖所示紊婉,可以看到建立一個(gè)TCP連接的過程為(三次握手的過程):


第一次握手

客戶端向服務(wù)端發(fā)送連接請(qǐng)求報(bào)文段。該報(bào)文段中包含自身的數(shù)據(jù)通訊初始序號(hào)辑舷。請(qǐng)求發(fā)送后喻犁,客戶端便進(jìn)入 SYN-SENT 狀態(tài)。

第二次握手

服務(wù)端收到連接請(qǐng)求報(bào)文段后,如果同意連接肢础,則會(huì)發(fā)送一個(gè)應(yīng)答还栓,該應(yīng)答中也會(huì)包含自身的數(shù)據(jù)通訊初始序號(hào),發(fā)送完成后便進(jìn)入 SYN-RECEIVED 狀態(tài)传轰。

第三次握手

當(dāng)客戶端收到連接同意的應(yīng)答后蝙云,還要向服務(wù)端發(fā)送一個(gè)確認(rèn)報(bào)文÷氛伲客戶端發(fā)完這個(gè)報(bào)文段后便進(jìn)入 ESTABLISHED 狀態(tài),服務(wù)端收到這個(gè)應(yīng)答后也進(jìn)入 ESTABLISHED 狀態(tài)波材,此時(shí)連接建立成功股淡。

通俗的說法

1)Client:嘿,李四廷区,是我唯灵,聽到了嗎?

2)Server:我聽到了隙轻,你能聽到我的嗎?

3)Client:好的埠帕,我們互相都能聽到對(duì)方的話,我們的通信可以開始了玖绿。

2. TCP斷開鏈接

建立一個(gè)連接需要三次握手敛瓷,而斷開一個(gè)連接需要四次揮手,這由TCP的半關(guān)閉造成斑匪。既然一個(gè)TCP連接是全雙工(即數(shù)據(jù)在兩個(gè)方向上能同時(shí)傳遞)呐籽,因此每個(gè)方向必須單獨(dú)地關(guān)閉。原則就是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)就能發(fā)送一個(gè)FIN來終止這個(gè)方向上的連接蚀瘸。當(dāng)一端收到一個(gè)FIN狡蝶,它必須通知應(yīng)用層另一端已經(jīng)終止了數(shù)據(jù)傳送。理論上客戶端和服務(wù)端都可以發(fā)起主動(dòng)關(guān)閉贮勃,但是更多情況下是客戶端主動(dòng)發(fā)起贪惹。

第一次揮手

若客戶端 A 認(rèn)為數(shù)據(jù)發(fā)送完成,則它需要向服務(wù)端 B 發(fā)送連接釋放請(qǐng)求寂嘉。

第二次揮手

B 收到連接釋放請(qǐng)求后奏瞬,會(huì)告訴應(yīng)用層要釋放 TCP 連接。然后會(huì)發(fā)送 ACK 包垫释,并進(jìn)入 CLOSE_WAIT 狀態(tài)丝格,此時(shí)表明 A 到 B 的連接已經(jīng)釋放,不再接收 A 發(fā)的數(shù)據(jù)了棵譬。但是因?yàn)?TCP 連接是雙向的显蝌,所以 B 仍舊可以發(fā)送數(shù)據(jù)給 A。

第三次揮手

B 如果此時(shí)還有沒發(fā)完的數(shù)據(jù)會(huì)繼續(xù)發(fā)送,完畢后會(huì)向 A 發(fā)送連接釋放請(qǐng)求曼尊,然后 B 便進(jìn)入 LAST-ACK 狀態(tài)酬诀。

第四次揮手

A 收到釋放請(qǐng)求后,向 B 發(fā)送確認(rèn)應(yīng)答骆撇,此時(shí) A 進(jìn)入 TIME-WAIT 狀態(tài)瞒御。該狀態(tài)會(huì)持續(xù) 2MSL(最大段生存期,指報(bào)文段在網(wǎng)絡(luò)中生存的時(shí)間神郊,超時(shí)會(huì)被拋棄) 時(shí)間肴裙,若該時(shí)間段內(nèi)沒有 B 的重發(fā)請(qǐng)求的話,就進(jìn)入 CLOSED 狀態(tài)涌乳。當(dāng) B 收到確認(rèn)應(yīng)答后蜻懦,也便進(jìn)入 CLOSED 狀態(tài)。

通俗的說法

1)Client:我所有東西都說完了

2)Server:我已經(jīng)全部聽到了夕晓,但是等等我宛乃,我還沒說完

3)Server:好了,我已經(jīng)說完了

4)Client:好的蒸辆,那我們的通信結(jié)束

3征炼、TCP協(xié)議的特點(diǎn)
  • 面向連接
    面向連接,是指發(fā)送數(shù)據(jù)之前必須在兩端建立連接躬贡。建立連接的方法是“三次握手”谆奥,這樣能建立可靠的連接。建立連接逗宜,是為數(shù)據(jù)的可靠傳輸打下了基礎(chǔ)雄右。

  • 僅支持單播傳輸
    每條TCP傳輸連接只能有兩個(gè)端點(diǎn),只能進(jìn)行點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸纺讲,不支持多播和廣播傳輸方式擂仍。

  • 面向字節(jié)流
    TCP不像UDP一樣那樣一個(gè)個(gè)報(bào)文獨(dú)立地傳輸,而是在不保留報(bào)文邊界的情況下以字節(jié)流方式進(jìn)行傳輸熬甚。

  • 可靠傳輸
    對(duì)于可靠傳輸逢渔,判斷丟包,誤碼靠的是TCP的段編號(hào)以及確認(rèn)號(hào)乡括。TCP為了保證報(bào)文傳輸?shù)目煽克嗬徒o每個(gè)包一個(gè)序號(hào),同時(shí)序號(hào)也保證了傳送到接收端實(shí)體的包的按序接收诲泌。然后接收端實(shí)體對(duì)已成功收到的字節(jié)發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK)盲赊;如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對(duì)應(yīng)的數(shù)據(jù)(假設(shè)丟失了)將會(huì)被重傳敷扫。

  • 提供擁塞控制
    當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞的時(shí)候哀蘑,TCP能夠減小向網(wǎng)絡(luò)注入數(shù)據(jù)的速率和數(shù)量,緩解擁塞

  • TCP提供全雙工通信
    TCP允許通信雙方的應(yīng)用程序在任何時(shí)候都能發(fā)送數(shù)據(jù),因?yàn)門CP連接的兩端都設(shè)有緩存绘迁,用來臨時(shí)存放雙向通信的數(shù)據(jù)合溺。當(dāng)然,TCP可以立即發(fā)送一個(gè)數(shù)據(jù)段缀台,也可以緩存一段時(shí)間以便一次發(fā)送更多的數(shù)據(jù)段(最大的數(shù)據(jù)段大小取決于MSS)

三棠赛、UDP

UDP協(xié)議全稱是用戶數(shù)據(jù)報(bào)協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包膛腐,是一種無連接的協(xié)議睛约。在OSI模型中,在第四層——傳輸層哲身,處于IP協(xié)議的上一層痰腮。UDP有不提供數(shù)據(jù)包分組、組裝和不能對(duì)數(shù)據(jù)包進(jìn)行排序的缺點(diǎn)律罢,也就是說,當(dāng)報(bào)文發(fā)送之后棍丐,是無法得知其是否安全完整到達(dá)的误辑。

它有以下幾個(gè)特點(diǎn):

  • 面向無連接
    首先 UDP 是不需要和 TCP一樣在發(fā)送數(shù)據(jù)前進(jìn)行三次握手建立連接的,想發(fā)數(shù)據(jù)就可以開始發(fā)送了歌逢。并且也只是數(shù)據(jù)報(bào)文的搬運(yùn)工巾钉,不會(huì)對(duì)數(shù)據(jù)報(bào)文進(jìn)行任何拆分和拼接操作。
    具體來說就是:
    在發(fā)送端秘案,應(yīng)用層將數(shù)據(jù)傳遞給傳輸層的 UDP 協(xié)議砰苍,UDP 只會(huì)給數(shù)據(jù)增加一個(gè) UDP 頭標(biāo)識(shí)下是 UDP 協(xié)議,然后就傳遞給網(wǎng)絡(luò)層了
    在接收端阱高,網(wǎng)絡(luò)層將數(shù)據(jù)傳遞給傳輸層赚导,UDP 只去除 IP 報(bào)文頭就傳遞給應(yīng)用層,不會(huì)任何拼接操作

  • 有單播赤惊,多播吼旧,廣播的功能
    UDP 不止支持一對(duì)一的傳輸方式,同樣支持一對(duì)多未舟,多對(duì)多圈暗,多對(duì)一的方式,也就是說 UDP 提供了單播裕膀,多播员串,廣播的功能。

  • UDP是面向報(bào)文的
    發(fā)送方的UDP對(duì)應(yīng)用程序交下來的報(bào)文昼扛,在添加首部后就向下交付IP層寸齐。UDP對(duì)應(yīng)用層交下來的報(bào)文,既不合并,也不拆分访忿,而是保留這些報(bào)文的邊界瞧栗。因此,應(yīng)用程序必須選擇合適大小的報(bào)文

  • 不可靠性
    首先不可靠性體現(xiàn)在無連接上海铆,通信都不需要建立連接迹恐,想發(fā)就發(fā),這樣的情況肯定不可靠卧斟。
    并且收到什么數(shù)據(jù)就傳遞什么數(shù)據(jù)殴边,并且也不會(huì)備份數(shù)據(jù),發(fā)送數(shù)據(jù)也不會(huì)關(guān)心對(duì)方是否已經(jīng)正確接收到數(shù)據(jù)了珍语。
    再者網(wǎng)絡(luò)環(huán)境時(shí)好時(shí)壞锤岸,但是 UDP 因?yàn)闆]有擁塞控制,一直會(huì)以恒定的速度發(fā)送數(shù)據(jù)板乙。即使網(wǎng)絡(luò)條件不好是偷,也不會(huì)對(duì)發(fā)送速率進(jìn)行調(diào)整。這樣實(shí)現(xiàn)的弊端就是在網(wǎng)絡(luò)條件不好的情況下可能會(huì)導(dǎo)致丟包募逞,但是優(yōu)點(diǎn)也很明顯蛋铆,在某些實(shí)時(shí)性要求高的場(chǎng)景(比如電話會(huì)議)就需要使用 UDP 而不是 TCP。

  • 頭部開銷小放接,傳輸數(shù)據(jù)報(bào)文時(shí)是很高效的刺啦。
    UDP 頭部包含了以下幾個(gè)數(shù)據(jù):
    (1)兩個(gè)十六位的端口號(hào),分別為源端口(可選字段)和目標(biāo)端口
    (2)整個(gè)數(shù)據(jù)報(bào)文的長(zhǎng)度
    (3)整個(gè)數(shù)據(jù)報(bào)文的檢驗(yàn)和(IPv4 可選 字段)纠脾,該字段用于發(fā)現(xiàn)頭部信息和數(shù)據(jù)中的錯(cuò)誤
    因此 UDP 的頭部開銷小玛瘸,只有八字節(jié),相比 TCP 的至少二十字節(jié)要少得多苟蹈,在傳輸數(shù)據(jù)報(bào)文時(shí)是很高效的糊渊。

四、TCP和UDP對(duì)比

1慧脱、對(duì)比
特點(diǎn)分類 UDP TCP
是否連接 無連接 面向連接
是否可靠 不可靠傳輸再来,不使用流量控制和擁塞控制 可靠傳輸,使用流量控制和擁塞控制
連接對(duì)象個(gè)數(shù) 支持一對(duì)一磷瘤,一對(duì)多芒篷,多對(duì)一和多對(duì)多交互通信 只能是一對(duì)一通信
傳輸方式 面向報(bào)文 面向字節(jié)流
首部開銷 首部開銷小,僅8字節(jié) 首部最小20字節(jié)采缚,最大60字節(jié)
適用場(chǎng)景 適用于實(shí)時(shí)應(yīng)用(IP電話针炉、視頻會(huì)議、直播等) 適用于要求可靠傳輸?shù)膽?yīng)用扳抽,例如文件傳輸
2篡帕、總結(jié)
  • TCP向上層提供面向連接的可靠服務(wù) 殖侵,UDP向上層提供無連接不可靠服務(wù)。
  • 雖然 UDP 并沒有 TCP 傳輸來的準(zhǔn)確镰烧,但是也能在很多實(shí)時(shí)性要求高的地方有所作為
  • 對(duì)數(shù)據(jù)準(zhǔn)確性要求高拢军,速度可以相對(duì)較慢的,可以選用TCP

五怔鳖、HTTP

HTTP(超文本傳輸協(xié)議)是利用TCP在兩臺(tái)電腦(通常是Web服務(wù)器和客戶端)之間傳輸信息的協(xié)議茉唉。客戶端使用Web瀏覽器發(fā)起HTTP請(qǐng)求給Web服務(wù)器结执,Web服務(wù)器發(fā)送被請(qǐng)求的信息給客戶端度陆。

HTTP是短連接:客戶端發(fā)送請(qǐng)求都需要服務(wù)器端回送響應(yīng)。請(qǐng)求結(jié)束后献幔,主動(dòng)釋放連接懂傀,因此為短連接。通常的做法是蜡感,不需要任何數(shù)據(jù)蹬蚁,也要保持每隔一段時(shí)間向服務(wù)器發(fā)送”保持連接”的請(qǐng)求。這樣可以保證客戶端在服務(wù)器端是”上線”狀態(tài)郑兴。

HTTP連接使用的是”請(qǐng)求-響應(yīng)”方式缚忧,不僅在請(qǐng)求時(shí)建立連接,而且客戶端向服務(wù)器端請(qǐng)求后杈笔,服務(wù)器才返回?cái)?shù)據(jù)。

六糕非、socket

應(yīng)用在使用 TCP 或 UDP 時(shí)蒙具,會(huì)用到操作系統(tǒng)提供的類庫。這種類庫一般被稱為 API(Application Programming Interface朽肥,應(yīng)用編程接口)禁筏。

Socket是BSD UNIX的進(jìn)程通信機(jī)制,通常也稱作”套接字”衡招,用于描述IP地址和端口篱昔,是一個(gè)通信鏈的句柄。Socket可以理解為TCP/IP網(wǎng)絡(luò)的API始腾,它定義了許多函數(shù)或例程州刽,程序員可以用它們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序。電腦上運(yùn)行的應(yīng)用程序通常通過”套接字”向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求浪箭。

Socket 本質(zhì)是編程接口(API)穗椅,對(duì) TCP/IP 的封裝,TCP/IP 也要提供可供程序員做網(wǎng)絡(luò)開發(fā)所用的接口奶栖,這就是 Socket 編程接口匹表。

參考文章:
https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html
https://www.liwenzhou.com/posts/Go/15_socket/
https://segmentfault.com/a/1190000022410446

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末门坷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子袍镀,更是在濱河造成了極大的恐慌默蚌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苇羡,死亡現(xiàn)場(chǎng)離奇詭異绸吸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)宣虾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門惯裕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绣硝,你說我怎么就攤上這事蜻势。” “怎么了鹉胖?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵握玛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我甫菠,道長(zhǎng)挠铲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任寂诱,我火速辦了婚禮拂苹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痰洒。我一直安慰自己瓢棒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布丘喻。 她就那樣靜靜地躺著脯宿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泉粉。 梳的紋絲不亂的頭發(fā)上连霉,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音嗡靡,去河邊找鬼跺撼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛讨彼,可吹牛的內(nèi)容都是我干的财边。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼点骑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼酣难!你這毒婦竟也來了谍夭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤憨募,失蹤者是張志新(化名)和其女友劉穎紧索,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菜谣,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡珠漂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尾膊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片媳危。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冈敛,靈堂內(nèi)的尸體忽然破棺而出待笑,到底是詐尸還是另有隱情,我是刑警寧澤抓谴,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布暮蹂,位于F島的核電站,受9級(jí)特大地震影響癌压,放射性物質(zhì)發(fā)生泄漏仰泻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一滩届、第九天 我趴在偏房一處隱蔽的房頂上張望集侯。 院中可真熱鬧,春花似錦帜消、人聲如沸棠枉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至汹碱,卻和暖如春粘衬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咳促。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工稚新, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人跪腹。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓褂删,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親冲茸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屯阀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359