网络编程3之TCP/IP协议
生活随笔
收集整理的這篇文章主要介紹了
网络编程3之TCP/IP协议
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在TCP/IP協(xié)議中,最重要的協(xié)議是【TCP、UDP、IP】協(xié)議
1.TCP/IP協(xié)議特點(diǎn)
1)Internet上不同系統(tǒng)之間互聯(lián)的一組協(xié)議2)為分散和不同類型的硬件提供通用的編程接口。3)TCP/IP 協(xié)議使Internet盡可能成為一個(gè)分散、無(wú)序的網(wǎng)絡(luò)。2.TCP協(xié)議
1)定義
TCP是基于(面向)連接的協(xié)議,也就是說(shuō),在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接
2)TCP協(xié)議建立連接
TCP協(xié)議建立連接需要三次會(huì)話(握手)
A->BB->AA->B3)特點(diǎn)
面向連接,數(shù)據(jù)安全因?yàn)槿挝帐纸档土藞?zhí)行效率4)基于TCP協(xié)議的Socket編程聊天程序
客戶端1,Scanner對(duì)象【要發(fā)送的數(shù)據(jù)】2,創(chuàng)建【Socket對(duì)象】(地址,端口號(hào))3,創(chuàng)建【輸出流】socket.getOutputStream()4,【發(fā)送數(shù)據(jù)】os.write(string.getBytes())若需接收,則采用【服務(wù)器端】步驟服務(wù)器端1,創(chuàng)建【ServerSocket對(duì)象】(端口號(hào))2,創(chuàng)建【socket】serverSocket.accept()3,創(chuàng)建【輸入流】socket.getInputStream()3,【接收數(shù)據(jù)】is.read(bs)若需回復(fù),則采用【客戶端】步驟注意:
給服務(wù)端發(fā)送數(shù)據(jù)后是不能給客戶端返回信息的,因?yàn)榭蛻舳税l(fā)送完后再接收信息會(huì)阻塞客戶端,導(dǎo)致不能關(guān)流,那么客戶端不關(guān)流,服務(wù)端就無(wú)法接收完畢,因此不能執(zhí)行接收文件后的發(fā)送消息的行為3.IP協(xié)議
1)定義
IP協(xié)議由主機(jī)到主機(jī)協(xié)議調(diào)用,而此協(xié)議負(fù)責(zé)調(diào)用本地網(wǎng)絡(luò)協(xié)議將數(shù)據(jù)報(bào)傳送以下一個(gè)網(wǎng)關(guān)或目的主機(jī)。例如TCP可以調(diào)用IP協(xié)議,在調(diào)用時(shí)傳送目的地址和源地址作為參數(shù),IP形成數(shù)據(jù)報(bào)并調(diào)用本地網(wǎng)絡(luò)(協(xié)議)接口傳送數(shù)據(jù)報(bào)。2)特點(diǎn)
私有IP:沒有互聯(lián)網(wǎng),多臺(tái)電腦允許IP地址相同公有IP:聯(lián)網(wǎng)后,在網(wǎng)絡(luò)上會(huì)自動(dòng)分配一個(gè)IP,不允許重復(fù)3)IP地址
a.【唯一】標(biāo)識(shí)【網(wǎng)絡(luò)上】的每一臺(tái)計(jì)算機(jī)b.IP地址的組成32位,由4個(gè)8位二進(jìn)制數(shù)組成(每個(gè)0~255)比如192.168.1.200IP地址 = 網(wǎng)絡(luò)地址 +主機(jī)地址網(wǎng)絡(luò)地址:標(biāo)識(shí)計(jì)算機(jī)或網(wǎng)絡(luò)設(shè)備所在的網(wǎng)段主機(jī)地址:標(biāo)識(shí)特定主機(jī)或網(wǎng)絡(luò)設(shè)備c.IP地址的配置和檢測(cè)查看本機(jī)的IP地址:運(yùn)行cmd,調(diào)用ipconfig測(cè)試網(wǎng)絡(luò)是否通暢:ping 目標(biāo)IP地址(比如:ping baidu.com 或者ping 192.168.11.200)4)給自己發(fā)消息IP地址
1,直接查看IP地址2,127.0.0.1 本機(jī)測(cè)試地址3,localhost 代表本機(jī)4.端口號(hào)
1)定義
具有網(wǎng)絡(luò)功能的應(yīng)用軟件的標(biāo)識(shí)號(hào)端口是一個(gè)軟件結(jié)構(gòu),被客戶程序或服務(wù)程序用來(lái)發(fā)送和接收數(shù)據(jù),一臺(tái)服務(wù)器有256*256個(gè)端口2)0-1023是公認(rèn)端口號(hào),即已經(jīng)公認(rèn)定義或?yàn)閷⒁J(rèn)定義的軟件保留的
3)1024-65535是并沒有公共定義的端口號(hào),用戶可以自己定義這些端口的作用。
4)端口與協(xié)議有關(guān):TCP和UDP的端口互不相干
總結(jié)
以上是生活随笔為你收集整理的网络编程3之TCP/IP协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络编程2之Socket简介和java.
- 下一篇: 网络编程应用:基于TCP协议【实现一个聊