1旨椒、網(wǎng)絡(luò)編程:在兩臺不同的計算機之間傳遞數(shù)據(jù)
(1)QQ聊天
(2)打開網(wǎng)易邦危,刷新界面毯侦,就有數(shù)據(jù)(從服務(wù)器端獲取數(shù)據(jù)并顯示)
(3)打開瀏覽器窄瘟,網(wǎng)頁? www.baidu.com
2米死、客戶端:手機app? ?瀏覽器? ?桌面QQ(給用戶用的東西)
? ? ?服務(wù)器端:處理/存儲數(shù)據(jù)
3锌历、URL:統(tǒng)一定位資源(網(wǎng)址)
? ? ?http://www.baidu.com/search?code=android
? ? ?http/https:傳輸協(xié)議? ? Tcp/IP協(xié)議共同實現(xiàn)
? ? ?www.baidu.com:域名? 表示一臺網(wǎng)絡(luò)中的電腦
? ? ?每臺電腦都有ip地址,用來唯一標(biāo)識一臺網(wǎng)絡(luò)中的計算機
? ? ? ? ? ? 共有兩種:ipv4/ipv6
? ? ? ? ? ? 32位分為四個部分峦筒,每個部分8個字節(jié)
? ? ? IP地址<---->域名(172.20.10.15<---->www.baidu.com)
? ? ? DNS服務(wù)器:域名解析器:將域名解析成相應(yīng)的IP地址
? ? ? search:對應(yīng)的后臺程序文件? ? ? 后臺有文件對應(yīng)(php? java? jsp)
? ? ? ?表示運行這個程序需要傳遞的參數(shù)
? ? ? code=android? code是服務(wù)器規(guī)定的字段
? ? ? 如果有多個參數(shù)使用&鏈接起來
4究西、端口號:用來唯一標(biāo)識這臺電腦上的某一個程序(鏈接在IP地址后面,用點隔開)
? ? ?IP地址: 唯一標(biāo)識某一臺電腦
5物喷、數(shù)據(jù)傳輸:TCP/IP協(xié)議
? ? ?TCP:面向連接的怔揩,安全(打電話)
? ? ?UDP:面向無連接的,不安全脯丝,但快(飛鴿傳書)
6商膊、網(wǎng)絡(luò)中的數(shù)據(jù)傳輸:Socket實現(xiàn)-->套接字
? ? ?Socket:? 客戶端
? ? ?ServerSocket:服務(wù)器端
7、讀取數(shù)據(jù):服務(wù)器讀取 客戶端讀取?
? ? ?BufferedReader-->InputStreamReader-->socket,getInputStreamReader
? ? ?讀取終端
? ? ?BufferedReader-->InputStreamReader-->System.in
? ? ?輸出:客戶端輸出? 服務(wù)器端輸出
? ? ?BufferedWriter-->
8宠进、手動輸入內(nèi)容晕拆、發(fā)送
? ? ?socket扮演的是客戶端
? ? ?ServerSocket扮演的是服務(wù)器端
? ? ?客戶端? :(1)文本? ? (2)圖片? ?(3)視頻? ? (4)音頻
9、客戶端和服務(wù)器端都可以隨意發(fā)送內(nèi)容
? ? ?從終端輸入
? ? (對聊)
? ? ?客戶端:
? ? ? ? ?主線程:接收終端輸入? 將終端輸入發(fā)送給服務(wù)器端
? ? ? ? ?子線程:接收服務(wù)器端發(fā)過來的數(shù)據(jù)
? ? ?服務(wù)器端:
? ? ? ? ? 主線程:接收終端輸入? 將終端輸入發(fā)送給客戶端
? ? ? ? ? 子線程:接收客戶端發(fā)來的數(shù)據(jù)
10材蹬、如何實現(xiàn)群聊
? ? 在服務(wù)器端維護一個數(shù)組(socket)