1. 計算機(jī)網(wǎng)絡(luò)概念
指分布在不用區(qū)域的計算機(jī)通過外接設(shè)備(交換機(jī)和路由器)連接在一起指蚁,實現(xiàn)了資源共享和數(shù)據(jù)傳輸?shù)挠嬎銠C(jī)系統(tǒng)
2. ip地址
ip地址:
Internet上的每臺主機(jī)(Host)都有一個唯一的IP地址覆获。
IP地址的長度為32位婚被,分為4段睬塌,每段8位,用十進(jìn)制數(shù)字表示屋剑,每段數(shù)字范圍為0~255,
段與段之間用句點隔開。例如159.226.1.1然痊。(四個字節(jié))
ip地址的分類:
IP地址是由網(wǎng)絡(luò)號和主機(jī)號組成
A類地址:8位網(wǎng)絡(luò)位,24位主機(jī)位 (國家使用) 一個網(wǎng)絡(luò)號+三個主機(jī)號
B類地址:16位網(wǎng)絡(luò)位屉符,16位主機(jī)位(學(xué)校使用) 兩個網(wǎng)絡(luò)號+兩個主機(jī)號
C類地址: 24位網(wǎng)絡(luò)位剧浸,8位主機(jī)位(普通使用) 三個網(wǎng)絡(luò)號+一個主機(jī)號
192.168.1 (代表是網(wǎng)絡(luò)號) 255局域網(wǎng)
特殊的ip地址:
127.0.0.1 表示本機(jī)地址
3.port端口
port端口:
如果把IP地址比作一間房子 ,端口就是出入這間房子的門矗钟。
真正的房子只有幾個門唆香,但是一個IP地址的端口 可以有65536(即:2^16)個之多!端口是通過端口號來標(biāo)記的吨艇,
端口號只有整數(shù)躬它,范圍是從0 到65535(2^16-1)
port端口的分類:
Port分類(0~65535):
公認(rèn)端口(WellKnownPorts):從0到1023,它們緊密綁定(binding)于一些服務(wù)东涡。
注冊端口(RegisteredPorts):從1024到49151虑凛。它們松散地綁定于一些服務(wù)。
動態(tài)和/或私有端口(Dynamicand/orPrivatePorts):從49152到65535软啼。
常用端口:
21 FTP
80 HTTP
443 HTTPS
4. tcp:
TCP:Transmission Control Protocol 傳輸控制協(xié)議TCP是一種面向連接(連接導(dǎo)向)的桑谍、可靠的、
基于字節(jié)流的運輸層(Transport layer)通信協(xié)議
特點:
1.面向連接的協(xié)議祸挪,數(shù)據(jù)傳輸必須要建立連接锣披,所以在TCP中需要連接時間。
2.傳輸數(shù)據(jù)大小不限制贿条,一旦連接建立雹仿,雙方可以按統(tǒng)一的格式傳輸大的數(shù)據(jù)。
3.一個可靠的協(xié)議整以,確保接收方完全正確地獲取發(fā)送方所發(fā)送的全部數(shù)據(jù)胧辽。
4.三次握手
5.udp
UDP: User Datagram Protocol的簡稱, 中文名是用戶數(shù)據(jù)包協(xié)議公黑,
是 OSI 參考模型中一種無連接的傳輸層協(xié)議邑商,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)
特點:
1.每個數(shù)據(jù)報中都給出了完整的地址信息,因此無需要建立發(fā)送方和接收方的連接凡蚜。
2.UDP傳輸數(shù)據(jù)時是有大小限制的人断,每個被傳輸?shù)臄?shù)據(jù)報必須限定在64KB之內(nèi)。
3.UDP是一個不可靠的協(xié)議朝蜘,發(fā)送方所發(fā)送的數(shù)據(jù)報并不一定以相同的次序到達(dá)接收方恶迈。
6.通信3要素
1.ip地址
2.端口號
3.傳輸協(xié)議
7.Java網(wǎng)絡(luò)編程
Java網(wǎng)絡(luò)編程:
Java網(wǎng)絡(luò)編程其實就是實現(xiàn)局域網(wǎng)或互聯(lián)網(wǎng)之間的數(shù)據(jù)通信(數(shù)據(jù)傳輸)。
Java網(wǎng)絡(luò)編程要素:
1.通過前面的知識谱醇,大家知道了計算機(jī)之間的數(shù)據(jù)傳輸需要三個要素暇仲。
2.IP(主機(jī)名)步做、端口、協(xié)議
3.Java是OOP語言奈附,所以將其封裝為特定的對象辆床,java.net.*
對象的映射:
IP 主機(jī)名 (InetAddress)
端口 數(shù)字標(biāo)識 不用封裝為對象
8. InetAddress使用方法
此類表示互聯(lián)網(wǎng)協(xié)議 (IP) 地址。
功能
getLocalHost()
getHostAddress()
getHostName()
getByName(String host)
getAllByName(String host)
細(xì)節(jié)
1.使用getByName(String host)通過一個IP地址找主機(jī)時桅狠,如果IP和Address沒有對應(yīng)在公網(wǎng)上讼载,
那么該IP解析不了對應(yīng)的地址,而且顯示為對應(yīng)IP且查詢很慢中跌。
2.可以getByName(String host)找出域名對應(yīng)的IP咨堤,getAllByName()可以獲取多個地址。
9.UDP和TCP協(xié)議的使用
UDP
將數(shù)據(jù)極其源和目的封裝為數(shù)據(jù)包漩符,不需要建立連接一喘。
每個數(shù)據(jù)包大小限制在64K中
因為無連接,所以不可靠
因為不需要建立連接嗜暴,所以速度快
如:人說話凸克、飛秋、凌波闷沥、CS等
TCP
面向連接萎战,有特有的通道
在連接中傳輸大數(shù)據(jù)量
通過三次握手機(jī)制連接,可靠協(xié)議
通信前必須建立連接舆逃,效率稍低
如:打電話,文件的傳送.
10.socket(編程)
socket(編程):
不同的通信規(guī)則需要定義不同的插座蚂维。
UDP:DatagramSocket 、 DatagramPacket
TCP:ServerSocket 路狮、Socket
UDP數(shù)據(jù)傳輸:
DatagramSocket與DatagramPacket
建立發(fā)送端虫啥,接收端
建立數(shù)據(jù)包
調(diào)用Socket的發(fā)送接收方法
關(guān)閉Socket
TCP數(shù)據(jù)傳輸:
ServerSocket和Socket
建立客戶端和服務(wù)器端
建立連接后,通過Socket中的IO流進(jìn)行數(shù)據(jù)的傳輸
關(guān)閉socket
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者