Java——網絡編程三要素

 * A:計算機網絡*  是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統、網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。* 其實我們這些網,之所以能夠連接,是因為在美國、日本、中國......很多國家,海底都有光纜,這個海底光纜都是連通的;如果由于海嘯或者地震導致海底光纜斷開,那么,全世界的網就會受到影響* 而我們手機上網使用的3G、4G,這些網絡都是由于信號塔的作用,需要搭建信號塔,這些信號塔是通過衛星發射信號的,所以你就可以去接收這些3G、4G信號* 現在聯通在3G這塊很牛掰,但是移動在4G這塊快把聯通給快干敗了* * B:網絡編程*  就是用來實現網絡互連的不同計算機上運行的程序間可以進行數據交換。* 我電腦上的東西想要傳給你,只要有網就,可以傳給你,無論是局域網還是互聯網都是可以相互傳遞的,這就是網絡編程
 * 網絡編程三要素之 IP* 通過IP找對應的設備地址* IPv4:有4個段位,每個段位都在0·255之間* 每個設備在網絡中都有唯一的一個標識* 每臺網絡終端在網絡中都有一個獨立的地址,我們在網絡中傳輸數據就是使用這個地址* 在DOS模擬器下的幾個命令:*      ipconfig:查看本機IP*      ping:測試連接(測試你有沒有跟外網連接上,或者測試局域網有沒有通,我的電腦跟你的電腦有沒有連接上(需要拿到對方的IP地址即可))*      本地回路地址:127.0.0.1*      廣播地址:255.255.255.255* * 一面向社會出來的時候直接就是IPv4,至于有沒有IPv1,IPv2,IPv3小編就不知道了~~* IPv4:由4個字節組成,40~255,大概是43億,其中30億都在北美,亞洲有4億,2011年初已經用盡* 43億:一個0~255代表2564294967296=256*256*256*256* 30億在北美,因為IP地址就是人家老外研究出來的,所以30億在北美* 亞洲有4億,4億對于亞洲來說太少了* 2011年初IPv4已經用盡了,所以正在向IPv6轉* IPv6:8組,每組是416進制數* 例如:                              1a2b:0000:aaaa:000000000000:aabb:1f2f* 若是0000,也可以省略,用:代替        1a2b::aaaa:000000000000:aabb:1f2f         一查只有7位,所以可以得知兩個::之間省略一個0000*                                    1a2b:0000:aaaa::aabb:1f2f                     一查只有5位,所以可以得知兩個::之間省略三個0000* 可以省略前面的0000或者是后面的0000,但不能前后都省略掉* * * 但是在轉型的過程中,即由IPv4轉型為IPv6這是個漫長的過程;跟當年的WindowsXP系統要轉型成Win7、Win10系統一樣,都是個漫長的過程* 在企業里面,有一些硬件它是比較老舊的,如果你裝的是一個低版本的系統,那它(低版本的系統)會支持你去運行,* 如果你裝的是一個高版本的系統,那么可能那個硬件就支持不了了,這樣,就意味著你要去做一系列的跟換,這是有成本的,* 所以企業在做這樣的更換的時候,會逐漸一點點的進行,所以說會是一個漫長的過程
 * 網絡編程三要素之 端口號* 通過端口找具體的那個程序* 兩臺設備通過互相識別IP進行連接,然后再通過端口號進行數據交換;例如:兩臺電腦上都有QQ、微信、feiQ等聊天工具,一臺電腦上,從QQ上說句話,另一臺電腦接收的是QQ,而不是微信、feiQ接到* 原因是:首先找的的是IP地址,通過IP地址找到那臺電腦,然后再找端口號,(端口號,就相當于具體的教室,例如去一個地方學習,首先得找的具體的辦公樓,然后在去找具體的教室,這個具體的教室,就相當于是端口號,辦公樓就相當于是IP地址)* * 每個程序在設備上都有唯一的標識* 每個網絡程序都需要綁定一個端口號,傳輸數據的時候除了確定發到哪臺機器上,還要明確發到哪個程序* 端口號范圍從0~65535* 編寫網絡應用就需要綁定一個端口號,盡量使用1024以上的,1024以下的基本上都被系統程序占用了。(也并不是都被系統占用了,只是說有幾率被系統給占用)* 常用端口:*      MySQL:3306*      Oracle:1521*      web:80*      Tomcat:8080*      QQ:4000*      feiQ:2425
 * 網絡編程三要素之 協議* 協議:為計算機網絡中,進行數據交換而建立的規則,標準或約定的集合* 協議有UDP和TCP協議* UDP:*          面向無連接、數據不安全、速度快、不區分客戶端與服務端* TCP:*          面向連接(三次握手)、數據安全、速度略慢、分為客戶端與服務端*          三次握手:客戶端先向服務端發起請求、服務端響應請求、傳輸數據* UDP可以比作為發短信:我再給你發短信你可以不開機,這個號碼也可以不存在,就是在這個世界上沒有這種號碼,隨便給你個號碼發條短信,這也是可以發送出去的* 它面向無連接,不用擔心對方在還是不在;數據不安全,這有可能是數據發丟了;速度快,因為我不用管你在不在;不區分客戶端與服務端,我可以給你發,你也可以給我發* * TCP的三次握手,相當于手機打電話,首先我給你撥號碼,你是必須要在的,這就是所謂的面向連接,你要是關機或者是沒有這個號碼,我就打不過去,所以,你必須要在的* 然后,我給你撥電話,數據是安全的但是速度是略慢的,因為我必須保證你在,我才能撥的過去;分為顧客端和服務端,一面是顧客端一面是服務器* 比如說,你去瀏覽一個論壇,當你去瀏覽論壇的時候,是先做了一次請求,那么服務器那邊接收了之后,它給你來個響應,然后,你就可以和這邊交換數據了* 第一次是客戶端向服務器發出請求;第二次是服務器響應客戶端;第三次就是傳輸數據;這就是三次握手* 相對于是安全的,假如說我這邊服務器關掉了,你開始請求,沒請求到,那就訪問不了,所以說,它是面向連接,數據安全的* HTTP協議,底層用的就是TCP協議,也是要遵循三次握手* 三次握手也可以比作:第一次,你愁啥?第二次,我瞅你咋地?第三次,來,咱來嘮嘮。* 也可以說比作:第一次,約嗎?第二次,約。第三次,然后就去了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379855.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379855.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379855.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python安全攻防---爬蟲基礎--re解析數據

0x01 re基礎 使用re模塊,必須先導入re模塊 import refindall():匹配所有符合正則的內容,返回的是一個列表 import restr "我的電話:10086,女朋友電話:11011" list re.findall(\d,str) print…

BSP for good 3d engine

1.open sourcehttp://irrlicht.sourceforge.net/downloads/ 2.不錯的小材質http://www.permadi.com/tutorial/webgraph/index.html 3.java bsp display(demo):http://www.symbolcraft.com/graphics/bsp/index.php http://www.faqs.org/faqs/graphics/bsptree-faq/ 4.a bps ill…

Java InputStreamReader getEncoding()方法及示例

InputStreamReader類的getEncoding()方法 (InputStreamReader Class getEncoding() method) getEncoding() method is available in java.io package. getEncoding()方法在java.io包中可用。 getEncoding() method is used to get the encoding name avail for this InputStrea…

python安全攻防---爬蟲基礎---BeautifulSoup解析

0x01 基礎 使用bs4首先要安裝,安裝后導入 import bs4bs對象有兩個方法,一個是find,另一個是find_all find(標簽名,屬性值):只返回一個,返回也是bs對象,可以繼續用find…

DataRabbit 3.1發布,完全支持SqlServer2005/2008

增加了對SqlServer2005/2008的新的數據類型的支持,如uniqueidentifier、time、sql_variant等。另外,EntityCreator也一起更新--不再強迫為Entity生成ToString()方法,使用者可以主動選擇是否要生成。 DataRabbit 3.1 下…

Java——Socket通信原理

* Socket通信原理圖解* A:Socket(中文翻譯為:電源插座)套接字概述* 網絡上具有唯一標識的IP地址和端口號組合在一起才能構成唯一能識別的標識套接字* 通信的兩端都有Socket(兩端都是電源插座,中間是啥?不就是電線啦,電…

asp.net鏈接mysql數據庫------------【個人收集】

在web.config文件中添加如下樣式的數據庫鏈接字符串&#xff1a; <add name"dbconnection" connectionString"DataBasedatabasename;Server127.0.0.1;Uid用戶名;Pwd密碼;character setgbk;" providerName"MySql.Data.MySqlClient"/></c…

sql2005 遠程連接

SQL Server 2005 不允許遠程連接解決方法轉載于:https://www.cnblogs.com/lcq135/archive/2008/11/06/1328380.html

Java GregorianCalendar computeTime()方法與示例

GregorianCalendar類computeTime()方法 (GregorianCalendar Class computeTime() method) computeTime() method is available in java.util package. java.util包中提供了computeTime()方法 。 computeTime() method is used to compute the calendar fields to the calendar …

python安全攻防---scapy基礎---計算機網絡各層協議

網絡層次劃分 比較常用的是TCP/IP五層協議。 0x01應用層 應用層是網絡應用程序以及它們的應用層協議存留的地方。應用層協議和應用程序直接掛鉤 DHCP(Dynamic Host Configuration Protocol)動態主機分配協議&#xff0c;使用 UDP 協議工作&#xff0c;主要有兩個用途&#xf…

一點心得(0)

1, 在C中&#xff0c;如果棧里的空間不足的話&#xff0c;要考慮用new命令在堆上動態生成數據&#xff0c;比如說保存所有無符號整數型的bitset&#xff0c;得用bitset<UINT_MAX1>* bs new bitset<UINT_MAX1>;來聲明定義&#xff0c;最后別忘了delete掉。 2, make…

Java——UPD輸出及優化再優化

* UPD傳輸不區分客戶端跟服務端&#xff0c;* 這里用Send和Receive這兩個方法決定誰發誰收 * 1.發送Send * 創建DatagramSocket,隨機端口號* 創建DatagramPacket,指定數據、長度、地址、端口* 創建DatagramSocket發送DatagramPacket* 關閉DatagramSocket 代碼如下&…

FLEX:圖形制作皮膚vs編程制作皮膚

Styles&#xff08;樣式&#xff09;提供了一個可以自定義flex外觀的層.可以圖形制作皮膚&#xff0c;也可以編程實現. &#xff08;小小菜鳥翻譯&#xff09; 圖形制作皮膚的 優點是 很容易實現&#xff0c;通過位圖&#xff0c;矢量圖&#xff0c;swf。 缺點是功能有限。…

Java文件類boolean canExecute()方法(帶示例)

文件類boolean canExecute() (File Class boolean canExecute()) This method is available in package java.io.File.canExecute(). 軟件包java.io.File.canExecute()中提供了此方法。 This method is used to execute the file and the file is represented by the abstract …

python安全攻防---scapy使用

導入scapy包 from scapy.all import *構造包 a Ether()/IP(dst114.114.114.114)/TCP(dport80)/應用層數據我們如果記不得每個包的選項使&#xff0c;可以使用show()來查看 print(a.show())發送包 sr(IP(dst‘192.168.1.0/24’)/TCP(dport(1,65535)), timeout2) &#xff1…

唉!

學習到后面時&#xff0c;再返回看了一下前面學過的&#xff0c;發現以前學過&#xff0c;看不懂的東西現在能看懂了…… &#xff01;不過 為什么在剛學時就是不懂&#xff0c;這樣 不就老是慢一拍嗎&#xff1f;唉&#xff01;&#xff01;轉載于:https://www.cnblogs.com/ni…

Java—— TCP協議(相關代碼實現以及相關優化)

代碼運行的時候先運行服務端&#xff0c;然后在運行客戶端 * TCP協議&#xff1a;* 1&#xff0c;客戶端* 創建Socket連接服務器(指定IP地址&#xff0c;端口號)通過IP地址找到對應的服務器* 調用Socket的getInputStream()和getOutputStream()方法獲取和服務器端相連…

什么是adsense 想通過廣告掙錢的看過來

Adsense的含義Google AdSense是由Google公司推出的針對網站主&#xff08;簡稱發布商&#xff09;的一個互聯網廣告服務。AdSense是個合成詞。其中ad是“廣告”之意&#xff0c;sense是“感知”之意&#xff0c;綜合起來的意思就是相關廣告。Google通過程序來分析網站的內容&am…

Java GregorianCalendar getTimeZone()方法與示例

GregorianCalendar類的getTimeZone()方法 (GregorianCalendar Class getTimeZone() method) getTimeZone() method is available in java.util package. getTimeZone()方法在java.util包中可用。 getTimeZone() method is used to return the time zone for this GregorianCale…

python安全攻防---信息收集---ICMP主機探測 以及optionparser的使用

0x01 基礎概念 ICMP&#xff08;Internet control Message Protocal&#xff09;Internet報文協議&#xff0c;是TCP/IP的一種子協議&#xff0c;屬于網絡層協議&#xff0c;其目的是用于在IP主機、路由器之間傳遞控制信息 0x02 程序 程序 # -*- coding:utf-8 -*- from sca…