網(wǎng)絡(luò)編程概述
1 計算機(jī)網(wǎng)絡(luò):
是指將地理位置不同的具有獨立功能的多臺計算機(jī)及其外部設(shè)備,通過通信線路連接起來南用,在網(wǎng)絡(luò)操作系統(tǒng)膀钠,網(wǎng)絡(luò)管理軟件及網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實現(xiàn)資源共享和信息傳遞的計算機(jī)系統(tǒng)裹虫。
2.網(wǎng)絡(luò)編程
就是用來實現(xiàn)網(wǎng)絡(luò)互連的不同計算機(jī)上運(yùn)行的程序間可以進(jìn)行數(shù)據(jù)交換 如 QQ 微信 陌陌 等即時通訊軟件
網(wǎng)絡(luò)編程之三要素
1IP 地址網(wǎng)絡(luò)中每一臺電腦的唯一標(biāo)識 通過你的IP地址就能找到你計算機(jī)所在的位置
2端口每個程序在設(shè)備上的唯一標(biāo)識用于標(biāo)識進(jìn)程的邏輯地址肿嘲,通過端口找到指定進(jìn)程
(可以這么理解 ip地址為你家住幾棟樓?端口號為你家具體的門牌號)
3協(xié)議定義通信規(guī)則,符合協(xié)議則可以通信筑公,不符合不能通信
詳解IP地址
每個設(shè)備在網(wǎng)絡(luò)中的唯一標(biāo)識
每臺網(wǎng)絡(luò)終端在網(wǎng)絡(luò)中都有一個獨立的地址雳窟,我們在網(wǎng)絡(luò)中傳輸數(shù)據(jù)就是使用這個地址。
ipconfig:查看本機(jī)IP192.168.88.217 ?(Win鍵+X+R 輸入CMD )
ping: 對聯(lián)網(wǎng)環(huán)境的檢測? ?測試連接192.168.50.12(www.baidu.com 也行) 看與他人是否連接上
本地回路地址:127.0.0.1
255.255.255.255是廣播地址
IPv4:4個字節(jié)組成匣屡,4個0-255封救。大概42億,30億都在北美捣作,亞洲4億誉结。2011年初已經(jīng)用盡。
IPv6:8組券躁,每組4個16進(jìn)制數(shù)惩坑。 目前剩余數(shù)量基本無限 不用擔(dān)心用盡
1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
1a2b::aaaa:0000:0000:0000:aabb:1f2f
1a2b:0000:aaaa::aabb:1f2f
1a2b:0000:aaaa::0000:aabb:1f2f
a2b:0000:aaaa:0000::aabb:1f2f
以上是比較常見的v6地址 正常為8組 ?但相鄰的0000 可以省略成::
詳解端口號
每個程序在設(shè)備上的唯一標(biāo)識
每個網(wǎng)絡(luò)程序都需要綁定一個端口號,傳輸數(shù)據(jù)的時候除了確定發(fā)到哪臺機(jī)器上嘱朽,還要明確發(fā)到哪個程序旭贬。
端口號范圍從0-65535
編寫網(wǎng)絡(luò)應(yīng)用就需要綁定一個端口號怔接,盡量使用1024以上的搪泳,1024以下的基本上都被系統(tǒng)程序占用了。
常用端口:
mysql: 3306
oracle: 1521
web: 80
tomcat: 8080
QQ: 4000
feiQ: 2425
我們可以通過 360的功能大全里面的 流量防火墻查看端口號
端口是可以改變的 但建議使用系統(tǒng)默認(rèn)的 如果更改可能會造成無法啟動
詳解協(xié)議
為計算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則扼脐、標(biāo)準(zhǔn)或約定的集合岸军。
UDP
面向無連接(可以理解為發(fā)短信 ?),數(shù)據(jù)不安全瓦侮,速度快艰赞。不區(qū)分客戶端與服務(wù)端。
TCP
面向連接(三次握手)肚吏,數(shù)據(jù)安全方妖,速度略低。分為客戶端和服務(wù)端罚攀。三次握手: 客戶端先向服務(wù)端發(fā)起請求, 服務(wù) ?端響應(yīng)請求, 傳輸數(shù)據(jù)(可以這么理解 我要訪問百度 必須先跟服務(wù)器打個招呼 這是1 服務(wù)器接受到了我的請求進(jìn)行 ?了響應(yīng) 這是2 ?最后進(jìn)行傳輸數(shù)據(jù) 這是3)也可以是 美女: 約嗎党觅? 美女回答: 約 ?最后: 出來見面 ? 同理如果美女說不約 ?就等于服務(wù)端沒進(jìn)行響應(yīng) 那就GG了
Socket 簡單介紹
Socket套接字概述:
網(wǎng)絡(luò)上具有唯一標(biāo)識的IP地址和端口號組合在一起才能構(gòu)成唯一能識別的標(biāo)識符套接字雌澄。
通信的兩端都有Socket。
網(wǎng)絡(luò)通信其實就是Socket間的通信杯瞻。
數(shù)據(jù)在兩個Socket間通過IO流傳輸镐牺。
Socket在應(yīng)用程序中創(chuàng)建,通過一種綁定機(jī)制與驅(qū)動程序建立關(guān)系魁莉,告訴自己所對應(yīng)的IP和port睬涧。
原理可能有些人會懵逼 ?用人的話來講就是 我們的電腦是一座港口socket就是碼頭IO流就是船船要貿(mào)易啊 把貨物從一座碼頭 運(yùn)到另一座港口的碼頭貨物就等同于我們要傳輸?shù)臄?shù)據(jù)
網(wǎng)絡(luò)通信先簡單介紹到這 要寫好幾個章節(jié) ?先理解下簡單的基本概念 感覺講的挺清晰了 有什么不對的地方 希望指點出來