網路通訊之socket通訊:tcp/udp
udp:
伺服器端--接收資料
例項:實現隨時發隨時收---使用udp
tcp應用層
與其它計算機進行通訊的乙個應用,它是對應應用程式的通訊服務的。
例如,乙個沒有通訊功能的字處理程式就不能執行通訊的**,
從事字處理工作的程式設計師也不關心osi的第7層。但是,如果新增了乙個
傳輸檔案的選項,那麼字處理器的程式設計師就需要實現osi的第7層。
示例:telnet,http,ftp,nfs,smtp等。
表示層這一層的主要功能是定義資料格式及加密。例如,ftp允許你選擇以二進位制
或ascii格式傳輸。如果選擇二進位制,那麼傳送方和接收方不改變檔案的內容。
如果選擇ascii格式,傳送方將把文字從傳送方的字符集轉換成標準的ascii後
傳送資料。在接收方將標準的ascii轉換成接收方計算機的字符集。示例:加密,ascii等。
會話層它定義了如何開始、控制和結束乙個會話,包括對多個雙向訊息的控制和管理,
以便在只完成連續訊息的一部分時可以通知應用,從而使表示層看到的資料是連續的,
在某些情況下,如果表示層收到了所有的資料,則用資料代表表示層。示例:rpc,sql等。
傳輸層這層的功能包括是否選擇差錯恢復協議還是無差錯恢復協議,及在同一主機上對不同
應用的資料流的輸入進行復用,還包括對收到的順序不對的資料報的重新排序功能。
示例:tcp,udp,spx。
網路層這層對端到端的包傳輸進行定義,它定義了能夠標識所有結點的邏輯位址,還定義了
路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,
網路層還定義了如何將乙個包分解成更小的包的分段方法。示例:ip,ipx等。
資料鏈路層
它定義了在單個鏈路上如何傳輸資料。這些協議與被討論的各種介質有關。示例:atm,fddi等。
物理層osi的物理層規範是有關傳輸介質的特性標準,這些規範通常也參考了其他組織制定的標準。
連線頭、幀、幀的使用、電流、編碼及光調製等都屬於各種物理層規範中的內容。
物理層常用多個規範完成對所有細節的定義。示例:rj45,802.3等
inetaddress
public
static
void
main
(string[
] args)
throws unknownhostexception
tcpudp
1建立在連線的基礎上
建立在非連線的基礎上
2安全性更高
安全性低
3傳輸速度低
速度高4
適合傳輸資料量大的資料
適合資料量小的資料
伺服器端:!=主機
埠號:同一臺主機上的每乙個伺服器都擁有自己的埠號,取值範圍(0,65535),常用的埠:80,8080
注意點:
要保證客戶端和伺服器端的埠號一致
要保證同一臺主機上的不同伺服器端口號不同
客戶端實現過程:
1. 建立udp通訊的物件–socket物件.對應的類是datagramsocket(用於udp通訊資料的傳送與接收)
2. 資料的封裝–裝包(打包),datagrampacket(資料報,包括相關的屬性,資料等)
3. 傳送–呼叫send方法
4. 關閉相關資源
**
public
class
demo7
}
伺服器端–接收資料
建立socket物件,繫結埠
建立包物件,建立空陣列,準備接收傳過來的資料
接收資料
關閉資源
**
public
class
demo8
}
例項:實現隨時發隨時收—使用udp
客戶端
public
static
void
main
(string[
] args)
throws ioexception }
socket.
close()
;}
伺服器端public
static
void
main
(string[
] args)
throws ioexception }
socket.
close()
;}
客戶端public
static
void
main
(string[
] args)
throws unknownhostexception, ioexception
//5.關閉資源
socket.
close()
;}
伺服器端public
static
void
main
(string[
] args)
throws ioexception
//完成資料的回傳
outputstream outputstream = socket.
getoutputstream()
; outputstream.
write
("你好,bigdata1715"
.getbytes()
);//5.關閉資源
serversocket.
close()
;}
tcp例項:實現大小寫轉換
客戶端
public
static
void
main
(string[
] args)
throws unknownhostexception, ioexception }
socket.
close()
;}
伺服器端public
static
void
main
(string[
] args)
throws ioexception }
serversocket.
close()
;}
網路程式設計 網路基礎
1.物理層 提供建立 維護和拆除物理鏈路所需的機械 電氣 功能和規程的特性 提供有關在傳輸介質上傳輸非結構的位流及物理鏈路故障檢測指示。在這一層,資料還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是位元。常用協議 eia tia rs 232 eia tia rs 449 v.35 rj 45 ...
linux網路程式設計基礎 網路基礎
客戶機 client 伺服器 server 模式。需要在通訊兩端各自部署客戶機和伺服器來完成資料通訊。瀏覽器 browser 伺服器 server 模式。只需在一端部署伺服器,而另外一端使用每台pc都預設配置的瀏覽器即可完成資料的傳輸。c s模式 優點缺點 資料快取本地,效率高 工作量大,開發周期更...
網路程式設計基礎
1 什麼是計算機網路 2 網路的型別 3 網路傳輸的介質 4 網路傳輸的資料格式 5 網路裝置 hub 分流裝置,把網路流量一分多,是根據實際情況平均分配的方法,是即插即用的裝置 中繼器 網路訊號傳輸一段距離後,訊號衰減會變弱,需要通過中繼器把訊號還原和再生 網橋 連線2個網路的裝置,這2個網路可以...