java udp 同一个端口实现收发_Java网络编程之UDP协议
伙伴們注意了!
小編在這里給大家送上關注福利:
搜索微信公眾號“速學Java”關注即可領取小編精心準備的資料一份!
今天我們來聊聊
網絡編程這部分的內容
網絡編程
1)計算機網絡
是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。
2)網絡編程
就是用來實現網絡互連的不同計算機上運行的程序間可以進行數據交換。
網絡編程三要素之IP概述
每個設備在網絡中的唯一標識
每臺網絡終端在網絡中都有一個獨立的地址,我們在網絡中傳輸數據就是使用這個地址。
ipconfig:查看本機IP地址
ping:測試連接
這個結果就表示連接成功了
本地回路地址:127.0.0.1
IPv4:4個字節組成,4個0-255組成。
一共大概42億,30億都在北美,亞洲4億。2011年初已經用盡。
IPv6:8組,每組4個16進制數。
1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
中間的“0”可以省略~寫成:
1a2b::aaaa:0000:0000:0000:aabb:1f2f
或1a2b:0000:aaaa::aabb:1f2f
或1a2b:0000:aaaa::0000:aabb:1f2f
或1a2b:0000:aaaa:0000::aabb:1f2f
網絡編程三要素之端口號
每個程序在設備上的唯一標識
每個網絡程序都需要綁定一個端口號,傳輸數據的時候除了確定發到哪臺機器上,還要明確發到哪個程序。
端口號范圍從0-65535
編寫網絡應用就需要綁定一個端口號,盡量使用1024以上的,1024以下的基本上都被系統程序占用了。
常用端口
mysql: 3306
oracle: 1521
web: 80
tomcat: 8080
網絡編程三要素之協議
為計算機網絡中進行數據交換而建立的規則、標準或約定的集合。
UDP
面向無連接,數據不安全,速度快。不區分客戶端與服務端。
就比如我們發短信,一般就是直接把信息編好久發過去,不管那邊是什么情況、能不能收到。
TCP
面向連接(三次握手),數據安全,速度略低。分為客戶端和服務端。
三次握手:
客戶端先向服務端發起請求, 服務端響應請求, 傳輸數據
就好像我們取快遞的時候,先給小哥一個暗號“取快遞”,小哥聽到了(第一次握手)然后給你一個回應 “報一下手機號”,你聽到(第二次握手)了之后就報了號碼給快遞小哥(第三次握手)。這樣確認之后就可以把快遞給你了~
Socket通信
Socket套接字概述:
網絡上具有唯一標識的 IP地址 和 端口號 組合在一起才能構成唯一能識別的標識符套接字。
通信的兩端都有 Socket。網絡通信其實就是 Socket 間的通信。數據在兩個Socket 間通過 IO流 傳輸。
Socket 在應用程序中創建,通過一種綁定機制與驅動程序建立關系,告訴自己所對應的 IP 和 port。
UDP傳輸
發送Send
總共分四步:
1)創建DatagramSocket, 隨機端口號
2)創建DatagramPacket, 指定數據, 長度, 地址, 端口
3)使用DatagramSocket發送DatagramPacket
4)關閉DatagramSocket
接收Receive
總共分四步:
1)創建DatagramSocket, 指定端口號
2)創建DatagramPacket, 指定數組, 長度
3)使用DatagramSocket接收DatagramPacket
4)關閉DatagramSocket
效果:
UDP傳輸多線程
發送和接收在一個窗口完成
那么就先到這里了
再見了
最后,想學習Java的小伙伴們!
關注“速學java”公眾號就可以拿到一份我為大家準備的Java學習資料!
對Java感興趣的小伙伴也可以加 小編V?: suxuejava
總結
以上是生活随笔為你收集整理的java udp 同一个端口实现收发_Java网络编程之UDP协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 命令行模式自动登录,实现li
- 下一篇: ad file type not rec