python udp 大文件_Python:通过UDP发送大对象
我是套接字編程的新手,最近為它挑選了Python。我有幾個(gè)問題,我似乎無法找到明確的答案。Python:通過UDP發(fā)送大對象
我正在研究通過UDP發(fā)送數(shù)據(jù),并寫了一個(gè)簡單的python腳本來做到這一點(diǎn)。可以很好地發(fā)送小對象(準(zhǔn)確地說是小腌制對象),但我應(yīng)該如何處理太大而不適合一個(gè)UDP數(shù)據(jù)包的對象?
我想過先以字節(jié)為單位調(diào)整對象大小。如果對象足夠小以適應(yīng)UDP數(shù)據(jù)包,則不會(huì)執(zhí)行任何操作,但如果對象太大,對象將被均勻地分割(如果可能的話)為許多較小的塊,以便它可以適合多個(gè)UDP數(shù)據(jù)包并發(fā)送到客戶端。一旦客戶端收到組塊,客戶端就會(huì)將多個(gè)UDP數(shù)據(jù)包重組為原始狀態(tài)。
當(dāng)試圖實(shí)現(xiàn)上述提示時(shí),我立即打開了我的第一堵磚墻。
從我的研究中,似乎沒有任何“有效”的方法來獲取對象的字節(jié)大小。這意味著我無法確定一個(gè)對象是否太大而不適合UDP數(shù)據(jù)包。
如果我堅(jiān)持將大對象發(fā)送到客戶端會(huì)發(fā)生什么?它會(huì)自動(dòng)分片并在客戶端重新組合,還是客戶端會(huì)丟棄數(shù)據(jù)包?
通過UDP處理大型對象的正確方法是什么?請記住,大對象可能是1GB大小的文件或25MB大小的字節(jié)對象。
在此先感謝。
旁注:
我也明白,UDP數(shù)據(jù)包可能并不總是為了和 它因此,我已經(jīng)實(shí)現(xiàn)了對策是 到標(biāo)簽的序列號發(fā)送的UDP數(shù)據(jù)包給客戶。
我明白,不能保證客戶端將收到所有的UDP數(shù)據(jù)包。我現(xiàn)在不關(guān)心數(shù)據(jù)包丟失。
我明白,TCP是我正在嘗試做的事情的合適人選,但我的重點(diǎn)是理解UDP以及如何處理現(xiàn)在無法確認(rèn)客戶端數(shù)據(jù)包的情況。
我明白泡菜的用法是不安全的。稍后會(huì)考慮它。
總結(jié)
以上是生活随笔為你收集整理的python udp 大文件_Python:通过UDP发送大对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高斯计传感器使用的霍尔传感器原理
- 下一篇: python 列表自定义排序_自定义排序