Java基礎之網路程式設計

2021-09-07 23:23:46 字數 2829 閱讀 4753

300集

簡單筆記

舉例:ip位址區分電腦。(用來標識網路中的乙個通訊實體,通訊實體可以是計算機,路由器等)。

ip位址分類:

ipv4:32位位址,以點分十進位制表示,如192.168.0.1

ipv6:128位(16個位元組)寫成8個16位的無符號整數,每個整數用四個十六進製制位表示,數之間用冒號隔開,

特殊ip;127.0.0.1(本機位址),

192.168。0.0-192.168.255.255是私有位址,屬於非註冊位址,專門為組織機構內部使用。

埠(port)定位電腦中的軟體。(埠是乙個虛擬概念,它並不是真實存在的)。埠的表示是乙個16位的二進位制整數,2個位元組,對應十進位制的0-65535。不同的協議有他們自己不同的埠,在同一協議下,埠不能衝突。

公認埠:0-1023

註冊埠;1024-49151

動態、私有埠;49152-65535

常見埠:80–http;8080-tomcat; 1521–oracle 3306–mysql

檢視所有埠:netstat -ano

檢視指定埠:netstat -ano|findstr 「1506」

檢視指定程序:tasklist|findstr「1206」

檢視指定程式:使用任務管理器檢視pid

uri:universal resource identifier統一資源標誌符,用來標識抽象或物理資源的乙個緊湊字串。

url:universal resource locator(統一資源定位符)定位軟體中的每乙份資源。一種定位資源的主要訪問機制2的字串,乙個標準的url必須包括:protocol(協議),host(存放資源的主機名),port(埠號),path(資源檔名),parameter,anchor(錨點:用於同乙個頁面或**的定位#)。

urn:universal resource name 統一資源名稱,通過特定命名空間中的唯一名稱或者i來標誌資源。

跳轉還可以用超連結。超連結可以用於同乙個或者不同**之間的跳轉。

協議是彼此之間通訊需要遵守的規範。

tcp和udp都是傳輸層的協議。tcp更安全,面向連線。udp更高效,但是不是面向連線的。

網頁程式設計和網路程式設計不是同乙個概念。網路程式設計關注tcp和udp,關注底層的傳輸。而網頁程式設計關注jsp和socket,它關注的是上一層的應用開發。

了解b/s和c/s的聯絡與區別。

osi參考模式:開放系統互連參考模型(open system interconnect)

物理層–資料鏈路層—網路層—傳輸層–會話層–表示層–應用層

同層間可以通訊,上一層可以呼叫下一層,而與再下一層不發生關係。

osi網路通訊協議模型是乙個參考模型,事實上的標準是tcp/ip協議。

tcp/ip參考模型:傳輸控制/網際協議 transfeer controln protocol/internet protocol

tcp/ip是乙個協議族,分為四層;

應用層;包含telnet,ftp,smtp,dns(網域名稱解析),http等應用協議。

傳輸層;tcp,udp。

網路層;ip,arp,rarp,icmp.

網路介面;各種通訊網路介面(乙太網等)物理網路。

資料封裝:data encapsulation是指將協議資料單元(pdu)封裝在一組協議頭和協議尾中的過程。

傳送方資料處理的方式是從高層到底層,逐層進行資料封裝。

應用層;準備資料;

傳輸層;接收應用層資料新增上tcp的控制資訊(tcp頭部),這個資料單元稱為段(segment),加入控制資訊的過程稱為封裝。然後再將段交給網路層。

網路層;接收到段,再新增上ip頭部,這個資料單元稱為包(packet),然後將包交給資料鏈路層。

資料鏈路層;將包再新增上mac頭部和尾部,這個資料單元稱為幀(frame),然後再傳給物理層。

物理層;』接接收到的資料轉換為位元流,然後再通過網線傳輸。

資料拆封:data dismantling是指將接收到的資料進行拆包,每一層只把對該層有意義的資料拿走,也就是說每一層只能處理傳送方向等層的資料,然後將其他的部分傳送給上一層,這就是對等通訊。

接收方資料處理的方式是從底層到高層,逐層進行資料解封裝。

物理層:接收位元流,經過處理後交給資料鏈路層。

資料鏈路層;將接收到的資料轉換為資料幀,再除去mac頭部和尾部,這個除去控制資訊的過程稱為解封,然後再將包傳給網路層。

網路層;接收到包,除去ip控制資訊,然後將段傳給傳輸層。

傳輸層;接收到段,再除去tcp頭部,然後再將資料交給應用層。

應用層;處理資料。

tcp(transfer control protocol):一種面向連線(連線導向)的,可靠的,基於位元組流的傳輸層(transfer layer)通訊協議。

特點:面向連線,點到點的通訊,高可靠性,占用資源多,效率高。它上面應用層的協議主要有ftp和http以及smtp

重點掌握tcp的三次握手。

udp(user datagramprotocol):一種無連線的傳輸層協議,提供面向事務的簡單不可靠資訊傳遞協議。

特點;效率高,非面向連線,傳輸是不可靠,可能會丟失資料;傳送不管對方是否準備好,接收方收到也不會確認;可以廣播傳送;非常簡單的協議,開銷小。它上面應用層協議主要有dns和snmp.

套接字socket :主要用來分離應用層和傳輸層之間的操作。

基於tcp協議的socket程式設計:通訊雙方需要建立連線,而且連線建立時雙方存在主次之分。一般先建立伺服器再建客戶端。

而基於udp協議的socket程式設計:不需要建立連線,而且通訊雙方完全平等。

udp基本流程

*傳送端

*1 使用datagramsocket 指定埠

closeable的使用

java網路程式設計基礎

一.埠 如果把ip比作一間房子那麼埠就是這間房子的們 1.一台計算機有65535個埠,其中0為保留埠,1 1024為固定埠,1025 65535為動態埠 程式設計師可以試用的埠 2.在計算機 尤其是伺服器 上盡可能的少開端口 3.乙個埠只能被乙個程式監聽 4.可以使用netstat an命令檢視本機...

JAVA基礎 網路程式設計

網路程式設計 socket程式設計 網路程式設計的三個要素 有32位或者128位表示,常用的ip位址是32位 也就是ipv4,128位代表ipv6 a 1.0.0.1 127.255.255.25410.x.x.x 是私有位址 b類128.0.0.1 191.255.255.254172.16.0....

JAVA基礎 網路程式設計

協議 udp 面向無連線,不安全,速度快 tcp 面向連線,安全,三次握手 一 使用udp實現資料的傳送 1.建立socket端點 2.明確要傳送的資料 3.使用socket的傳送功能傳送資料 datagramsocket socket new datagramsocket 建立socket物件 s...