- 網(wǎng)絡(luò)編程:
- 在兩臺不同的計算機之間傳遞數(shù)據(jù)
- 1.QQ聊天
- 2.打開網(wǎng)易app 刷新界面 就有數(shù)據(jù)
- 3.打開瀏覽器 網(wǎng)頁 www.baidu.com
- 客戶端:手機app 瀏覽器 桌面應用
- 服務(wù)器端:存儲/處理數(shù)據(jù)
- URL:統(tǒng)一的資源定位
- http/https:傳輸協(xié)議 TCP/IP
- 域名 表示一臺網(wǎng)絡(luò)中的電腦
- IPv4 IPv6地址:唯一標識一臺網(wǎng)絡(luò)中的計算機
- 32位:四個部分每個部分八個字節(jié)
- DNS服務(wù)器:域名解析 將www.baidu.com類型的域名解析為對應的IP地址
- search 對應的后臺程序文件 php Java jsp
- ?表示運行這個程序需要傳遞的參數(shù)
- code是服務(wù)器端規(guī)定的字段
- &如果有果個參數(shù)使用&符號連接
- IP地址:唯一標識某一臺電腦
- 端口號:唯一標識電腦上的某一個進程(程序)80
- 數(shù)據(jù)傳輸:TCP/IP協(xié)議
- TCP:面向鏈接的 安全的 打電話
- UDP:面向無鏈接的 不安全 但是快
- 網(wǎng)絡(luò)中的數(shù)據(jù)傳輸:Socket 實現(xiàn)->套接字
- Socket
- ServerSocket
1.創(chuàng)建用于通信的socket
指明和誰通信:ip地址 端口號
Socket socket = new Socket("127.0.0.1",8989);
接收服務(wù)器端的數(shù)據(jù)
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
讀取服務(wù)器端發(fā)來的數(shù)據(jù)
String line = null;
while ((line = br.readLine()) != null){
System.out.println(line);
}
客戶端向服務(wù)器端發(fā)送數(shù)據(jù)
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println("你好啊");
1.創(chuàng)建服務(wù)器端的serverocket
ServerSocket ss = new ServerSocket(8989);
2.獲取連接的客戶端的socket
Socket clientSocket = ss.accept();
3.向客戶端發(fā)送數(shù)據(jù)
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
ps.println("登錄成功");
4.接收客戶端發(fā)來的數(shù)據(jù)
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String line = null;
while ((line = br.readLine()) != null){
System.out.println(line);