国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計算機(jī)網(wǎng)絡(luò)編程——UDP詳解

這篇具有很好參考價值的文章主要介紹了計算機(jī)網(wǎng)絡(luò)編程——UDP詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.UDP協(xié)議的概述

UDP(User Datagram Protocol)是一種在網(wǎng)絡(luò)通信中使用的傳輸層協(xié)議。與TCP(Transmission Control Protocol)相比,UDP是一種無連接的協(xié)議,這意味著它不像TCP那樣在通信的開始和結(jié)束時需要建立和終止連接。

2.UDP協(xié)議的特點

?文章來源地址http://www.zghlxwxcb.cn/news/detail-753453.html

  1. 無連接性: UDP是無連接的協(xié)議,這意味著通信的雙方不需要在通信之前建立連接。每個UDP數(shù)據(jù)報都是獨立的,它們可以單獨發(fā)送,沒有依賴關(guān)系。

  2. 不可靠性: UDP不提供數(shù)據(jù)傳輸?shù)目煽啃员WC。它不會像TCP那樣提供重傳、確認(rèn)和流量控制等機(jī)制。這意味著如果發(fā)送的數(shù)據(jù)丟失或者損壞,UDP不會自動重新發(fā)送,需要應(yīng)用層自行處理。

  3. 速度和低延遲: 由于沒有連接狀態(tài)維護(hù)和復(fù)雜的確認(rèn)機(jī)制,UDP的開銷比TCP小,因此在速度和延遲方面表現(xiàn)更好。這使得它適用于實時應(yīng)用,如語音通話和在線游戲。

  4. 數(shù)據(jù)報格式: UDP數(shù)據(jù)報包含了目標(biāo)端口號和源端口號,這些信息用于將數(shù)據(jù)傳遞給正確的應(yīng)用程序。但是,數(shù)據(jù)報本身沒有保證按順序到達(dá)或完整到達(dá)。

  5. 無擁塞控制: UDP不具備TCP的擁塞控制機(jī)制,因此在網(wǎng)絡(luò)擁塞的情況下,UDP數(shù)據(jù)報可能會丟失或延遲增加。

  6. 廣播和多播支持: UDP支持向特定組中的多個主機(jī)發(fā)送數(shù)據(jù),這稱為多播(Multicast)。也可以將數(shù)據(jù)報廣播到網(wǎng)絡(luò)中的所有主機(jī),這稱為廣播(Broadcast)。

  7. 適用場景: UDP適用于需要快速傳輸和實時性要求較高的應(yīng)用,如語音和視頻流、在線游戲、實時傳感數(shù)據(jù)等。它不適用于需要可靠傳輸和數(shù)據(jù)完整性的場景,因為這些方面沒有被UDP提供。

3.UDP的格式

?

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

4.網(wǎng)絡(luò)編程?

我是在同一局域網(wǎng)下兩臺電腦實現(xiàn)的通信,一臺是服務(wù)器,一臺是客戶端?

你可以借用你室友的電腦,條件是在同一局域網(wǎng),連同一個wifi就行,如果沒條件的同學(xué)也可以把ip換成本地ip,本地測試。

server_address = ('127.0.0.1', 12345)

客服端代碼

import socket
import time
# 定義服務(wù)器地址和端口
server_address = ('192.168.31.54', 12345)

# 創(chuàng)建 UDP 客戶端套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
    send_time = time.time()
    message = "祖國必定統(tǒng)一!"
    client_socket.sendto(message.encode(), server_address)
    #接收數(shù)據(jù)
    data,server = client_socket.recvfrom(1024)
    receive_time = time.time()
    #計算延遲
    delay = receive_time - send_time
    print("收到數(shù)據(jù):", data.decode())
    print("通信延遲:", delay, "秒")
finally:
    client_socket.close()

服務(wù)器ip地址192.168.31.54 端口號:12345?

服務(wù)端代碼

?

import socket
# 綁定服務(wù)器地址和端口
server_address = ('192.168.31.54', 12345)  # 留空表示綁定到所有可用接口
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

server_socket.bind(server_address)

print("等待客戶端連接...")

try:
    data, address = server_socket.recvfrom(1024)
    print("收到數(shù)據(jù):", data.decode())

    # 發(fā)送數(shù)據(jù)
    response = "hello from server!"
    server_socket.sendto(response.encode(), address)

finally:
    server_socket.close()

先運行服務(wù)端,在開啟客戶端。

服務(wù)端運行結(jié)果

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

客戶端運行結(jié)果?

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

5.數(shù)據(jù)抓包?

?在運行服務(wù)端之前開啟抓包

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

抓包的數(shù)據(jù)保存在這里了。

電腦進(jìn)程會調(diào)用12345端口,查詢udp協(xié)議,端口12345產(chǎn)生的數(shù)據(jù)包。

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

?udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

?

?

  • Internet Protocol Version 4: 這表示這是一個IPv4數(shù)據(jù)包,與之前描述的類似,是一種在互聯(lián)網(wǎng)上傳輸數(shù)據(jù)的常見協(xié)議。

  • Src: 192.168.31.46: 這是源IP地址,表示數(shù)據(jù)包的發(fā)送方的唯一標(biāo)識。在你的數(shù)據(jù)中,源IP地址是 192.168.31.46。

  • Dst: 192.168.31.54: 這是目標(biāo)IP地址,表示數(shù)據(jù)包的接收方的唯一標(biāo)識。在你的數(shù)據(jù)中,目標(biāo)IP地址是 192.168.31.54。

  • Version: 4: 這是IP協(xié)議的版本,表示這是IPv4。

  • Header Length: 20 bytes (5): 這是IP頭部的長度,以字節(jié)為單位。在你的數(shù)據(jù)中,IP頭部的長度是20字節(jié)。

  • Differentiated Services Field: 這是用于指示數(shù)據(jù)包優(yōu)先級和服務(wù)質(zhì)量的字段。在你的數(shù)據(jù)中,DSCP(DiffServ Code Point)被設(shè)置為0,表示默認(rèn)服務(wù)。

  • Total Length: 49: 這是整個IP數(shù)據(jù)包的長度,以字節(jié)為單位。在你的數(shù)據(jù)中,數(shù)據(jù)包的長度是49字節(jié)。

  • Identification: 0x4ec2 (20162): 這是一個用于分片和重組數(shù)據(jù)包的標(biāo)識字段。

  • Flags: 0x0000: 這是用于分片和重組的標(biāo)志字段。

  • Time to live: 128: 這是數(shù)據(jù)包的生存時間,類似之前的描述。

  • Protocol: UDP (17): 這表示數(shù)據(jù)包中封裝的是UDP協(xié)議的數(shù)據(jù)。

  • Header checksum: 這是IP頭部的校驗和,與之前的描述類似。

  • Source: 192.168.31.46: 這是源IP地址。

  • Destination: 192.168.31.54: 這是目標(biāo)IP地址。

  • udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議

  • 5c ba ef 2a ea 63: 這是目標(biāo)MAC地址,也就是數(shù)據(jù)幀的目標(biāo)設(shè)備的MAC地址。

  • 50 28 4a eb 78 e1: 這是源MAC地址,也就是數(shù)據(jù)幀的發(fā)送設(shè)備的MAC地址。

  • 08 00: 這是幀類型字段,指示以太網(wǎng)幀中的上層協(xié)議是IPv4。

  • 45 00: 這是IP首部的起始,表示IPv4版本和首部長度。

  • 00 2e: 這是IP數(shù)據(jù)報的總長度。

  • 35 7d: 這是標(biāo)識字段,用于分片和重組數(shù)據(jù)報。

  • 00 00: 這是標(biāo)志和片偏移字段。

  • 80 11: 這是TTL和上層協(xié)議字段,表明上層協(xié)議是UDP。

  • 45 8d: 這是IP首部校驗和。

  • c0 a8 1f 36: 這是源IP地址,表示數(shù)據(jù)報的發(fā)送方IP地址。

  • c0 a8 1f 2e: 這是目標(biāo)IP地址,表示數(shù)據(jù)報的接收方IP地址。

  • 30 39: 這是源端口號,表示UDP數(shù)據(jù)報的發(fā)送方端口號。

  • ed 4b: 這是目標(biāo)端口號,表示UDP數(shù)據(jù)報的接收方端口號。

  • 00 1a: 這是UDP數(shù)據(jù)報的長度。

  • ba 41: 這是UDP校驗和。

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

數(shù)據(jù)部分:

e7a596e59bbde5bf85e5ae9ae7bb9fe4b880efbc81

?

?

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

?udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議

?

數(shù)據(jù)部分:48 65 6c 6c 6f 20 66 72 6f 6d 20 73 65 72 76 65 72 21udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議

  1. hex_string = "48656c6c6f2066726f6d2073657276657221"

    • 這行代碼將一個十六進(jìn)制字符串賦值給變量 hex_string。這個十六進(jìn)制字符串表示ASCII字符的值,拼寫出了 "Hello from server!"。
  2. decoded_string = bytes.fromhex(hex_string).decode("utf-8")

    • 這行代碼的作用:
      • bytes.fromhex(hex_string) 將十六進(jìn)制字符串轉(zhuǎn)換為字節(jié)序列。
      • .decode("utf-8") 將字節(jié)解釋為UTF-8編碼的字符串。
      • 結(jié)果被存儲在變量 decoded_string 中。
hex_string = "48656c6c6f2066726f6d2073657276657221"
decoded_string = bytes.fromhex(hex_string).decode("utf-8")
print(decoded_string)


?udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議

udp無連接怎么理解,計算機(jī)網(wǎng)絡(luò),udp,網(wǎng)絡(luò)協(xié)議?

我上大一的時候還想抓包qq的連天記錄,現(xiàn)在在知道怎么會這么容易讓你知道聊天內(nèi)容。就自己寫了一個來抓包,順便回憶一下計算機(jī)網(wǎng)絡(luò)知識。?

?

?

?

?

??

?

?

?

?

到了這里,關(guān)于計算機(jī)網(wǎng)絡(luò)編程——UDP詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 計算機(jī)網(wǎng)絡(luò)技術(shù)與JAVA網(wǎng)絡(luò)編程URL編程-----JAVA入門基礎(chǔ)教程-----計算機(jī)網(wǎng)絡(luò)經(jīng)典

    import org.junit.jupiter.api.Test; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class URLTest { public static void main(String[] args) { //URL:統(tǒng)一資源定位符(種子),一個URL就定位著互聯(lián)網(wǎng)上某個資源的地址 //http:應(yīng)用層協(xié)議,IP地址,端口號,資源地址,參數(shù)

    2024年02月15日
    瀏覽(99)
  • 計算機(jī)網(wǎng)絡(luò)編程 | 多路I/O轉(zhuǎn)接服務(wù)器

    計算機(jī)網(wǎng)絡(luò)編程 | 多路I/O轉(zhuǎn)接服務(wù)器

    歡迎關(guān)注博主 Mindtechnist 或加入【Linux C/C++/Python社區(qū)】一起學(xué)習(xí)和分享Linux、C、C++、Python、Matlab,機(jī)器人運動控制、多機(jī)器人協(xié)作,智能優(yōu)化算法,濾波估計、多傳感器信息融合,機(jī)器學(xué)習(xí),人工智能等相關(guān)領(lǐng)域的知識和技術(shù)。 專欄:《網(wǎng)絡(luò)編程》 多路IO轉(zhuǎn)接服務(wù)器也叫做多

    2024年02月12日
    瀏覽(30)
  • 計算機(jī)網(wǎng)絡(luò)編程 | 并發(fā)服務(wù)器代碼實現(xiàn)(多進(jìn)程/多線程)

    計算機(jī)網(wǎng)絡(luò)編程 | 并發(fā)服務(wù)器代碼實現(xiàn)(多進(jìn)程/多線程)

    歡迎關(guān)注博主 Mindtechnist 或加入【Linux C/C++/Python社區(qū)】一起學(xué)習(xí)和分享Linux、C、C++、Python、Matlab,機(jī)器人運動控制、多機(jī)器人協(xié)作,智能優(yōu)化算法,濾波估計、多傳感器信息融合,機(jī)器學(xué)習(xí),人工智能等相關(guān)領(lǐng)域的知識和技術(shù)。 專欄:《網(wǎng)絡(luò)編程》 當(dāng)涉及到構(gòu)建高性能的服務(wù)

    2024年02月08日
    瀏覽(36)
  • 計算機(jī)網(wǎng)絡(luò)技術(shù)與JAVA網(wǎng)絡(luò)編程手寫Socket聊天室-----JAVA入門基礎(chǔ)教程-----計算機(jī)網(wǎng)絡(luò)經(jīng)典

    import java.io.*; import java.net.Socket; import java.util.Scanner; public class ChatClient { public static void main(String[] args) { try { Socket socket = new Socket(\\\"127.0.0.1\\\",9090); new Thread(new Runnable() { @Override public void run() { InputStream inputStream = null; while(true) { try { inputStream = socket.getInputStream(); } catch (IOException e)

    2024年02月15日
    瀏覽(31)
  • 計算機(jī)網(wǎng)絡(luò)課程實驗4——編程實現(xiàn)路由算法(迪杰斯特拉算法)

    計算機(jī)網(wǎng)絡(luò)課程實驗4——編程實現(xiàn)路由算法(迪杰斯特拉算法)

    實驗?zāi)康模?運用各種編程語言實現(xiàn)基于 Dijkstra 算法的路由軟件。 實驗意義: 通過本實驗,使學(xué)生能夠?qū)β酚稍砗吐酚伤惴ㄓ羞M(jìn)一步的理解和掌握。 實驗步驟: 1, 選擇合適的編程語言編程實現(xiàn)基于 Dijkstra 算法的路由軟件。 輸入不同的網(wǎng)絡(luò)拓?fù)浜玩溌反鷥r測試和驗證自己

    2024年02月06日
    瀏覽(27)
  • 編程入門(四)【計算機(jī)網(wǎng)絡(luò)基礎(chǔ)(由一根網(wǎng)線連接兩個電腦開始)】

    編程入門(四)【計算機(jī)網(wǎng)絡(luò)基礎(chǔ)(由一根網(wǎng)線連接兩個電腦開始)】

    讀者大大們好呀!!!?????? ?? 歡迎來到我的博客 ??期待大大的關(guān)注哦?????? ??歡迎收看我的主頁文章??尋至善的主頁 當(dāng)你有一跟網(wǎng)線和兩臺計算機(jī)??時,你會不會想我如何讓這兩臺電腦互聯(lián)(通信)呢?本文將通過上述網(wǎng)絡(luò)中所遇到的實際問題,來介紹

    2024年04月22日
    瀏覽(28)
  • jsp 網(wǎng)絡(luò)社區(qū)便利店系統(tǒng)Myeclipse開發(fā)mysql數(shù)據(jù)庫web結(jié)構(gòu)java編程計算機(jī)網(wǎng)頁項目

    jsp 網(wǎng)絡(luò)社區(qū)便利店系統(tǒng)Myeclipse開發(fā)mysql數(shù)據(jù)庫web結(jié)構(gòu)java編程計算機(jī)網(wǎng)頁項目

    一、源碼特點 ?? ? JSP 網(wǎng)絡(luò)社區(qū)便利店系統(tǒng)是一套完善的java web信息管理系統(tǒng),對理解JSP java編程開發(fā)語言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫,系統(tǒng)主要采用B/S模式開發(fā)。開發(fā)環(huán)境為TOMCAT7.0,Myeclipse8.5開發(fā),數(shù)據(jù)庫為Mysql5.0,使用java語言開發(fā)。 jsp 網(wǎng)絡(luò)社區(qū)便利店系統(tǒng)M

    2024年02月12日
    瀏覽(19)
  • 網(wǎng)絡(luò)編程 —— TCP 和 UDP 編程詳解

    網(wǎng)絡(luò)編程 —— TCP 和 UDP 編程詳解

    目錄 網(wǎng)絡(luò)編程主要函數(shù)介紹 1. socket 函數(shù) 2. bind 函數(shù) 3. listen 函數(shù) 4. accept 函數(shù) 5. connect 函數(shù) 6. send 函數(shù) 7. recv 函數(shù) 8. recvfrom 函數(shù) 9. sendto 函數(shù) TCP 和 UDP 原理上的區(qū)別 TCP 編程 服務(wù)端代碼: 客戶端代碼: UDP 編程 服務(wù)端代碼: 客戶端代碼: 1. socket 函數(shù) int socket(int domain, int

    2024年02月04日
    瀏覽(18)
  • 【網(wǎng)絡(luò)編程】TCP,UDP協(xié)議詳解

    【網(wǎng)絡(luò)編程】TCP,UDP協(xié)議詳解

    小亭子正在努力的學(xué)習(xí)編程,接下來將開啟javaEE的學(xué)習(xí)~~ 分享的文章都是學(xué)習(xí)的筆記和感悟,如有不妥之處希望大佬們批評指正~~ 同時如果本文對你有幫助的話,煩請點贊關(guān)注支持一波, 感激不盡~~ ? 目錄 前言 TCP協(xié)議 TCP協(xié)議特點 TCP協(xié)議通信場景 TCP協(xié)議的幾個重要機(jī)制 一、

    2023年04月19日
    瀏覽(25)
  • 網(wǎng)絡(luò)編程詳解-UDP-TCP

    網(wǎng)絡(luò)編程詳解-UDP-TCP

    網(wǎng)絡(luò)編程 在網(wǎng)絡(luò)通信協(xié)議下,不同計算機(jī)上運行的程序,可以進(jìn)行數(shù)據(jù)傳輸 網(wǎng)絡(luò)編程的三要素是 IP地址、端口和協(xié)議 。具體分析如下: IP地址 :IP地址是網(wǎng)絡(luò)中每一臺計算機(jī)的唯一標(biāo)識,它類似于現(xiàn)實生活中的家庭住址,用于在網(wǎng)絡(luò)中找到具體的設(shè)備。IP地址是由數(shù)字組成

    2024年03月15日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包