標籤:輸入 封裝 用戶端 標記 server 建立串連 intern 相同 取數
網路通訊三要素:
IP
協議:
TCP:
建立串連,發送速度慢
三向交握協議
UDP:
不需要建立串連,發送速度快
安全性低
連接埠 0--65535
Socket:
負責資料的發送和接收
使用UDP實現資料的發送
1 建立Socket端點實現資料的發送
DatagramSocket:
基於UDP,發送資料包
2 明確發送的資料
3 把資料封裝成資料報包
DatagramPacket:
UDP資料包,指明了發送的資料,接收方的IP,接收方的連接埠
4 使用Socket的發送功能發送資料
內部使用輸出資料流將資料寫出去,所以有IOException
使用UDP實現資料的接收:
1 建立Socket端點實現資料的接收
需要指定監聽的連接埠
2 建立一個空的資料報包來接收資料
3使用Soclet的接收功能來接收
4 從資料報包擷取資料
使用TCP實現資料的發送:
用戶端
1 建立Socket端點,負責資料發送,同時需要和服務端串連
2 發送資料,就是輸出,使用輸出資料流
Socket:只能作為用戶端(發送)
/*
Scoket socket = new Scoket(InetAddress.getByName(""), 55555);
這句話成功執行說明成功建立用戶端
同時說明和伺服器端串連成功
也就是和伺服器端建立了一條通道
這條通道就是這個Socket流(用戶端對象),Socket流中既有位元組輸入資料流,也有位元組輸出資料流
*/
使用TCP實現資料的接收:
服務端
ServerSocket:
1 建立Scoket對象,同時監聽連接埠
2 得到用戶端對象,和用戶端使用相同的流
3 接收資料,就是讀取資料,使用輸入資料流
/*
服務端如何區分用戶端?
得到用戶端對象,和用戶端使用相同的流
ServerSocket server = new ServerSocket(55555);
Socket scoket = server.accpet();
*/
shutDownOutput():添加結束標記
網路--Internet