真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net標(biāo)記可序列化 net可序列化的類標(biāo)記為

在.net中所有可序列化的類都被標(biāo)記為?

可序列化的類,聲明為Serializable

永川網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,永川網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為永川近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的永川做網(wǎng)站的公司定做!

[Serializable()]

public class A

{

//body of the class

}

為什么vb/c#.net里面winform,窗體不能序列化?

因?yàn)樗麤]有從serialable繼承。

任何東西都可以序列化,沒什么保護(hù)或者技術(shù)困難的問題。

關(guān)于vb.net中Socket的問題

我不給你代碼了,我才編了SOCKET的,告訴你原理吧(我的編程經(jīng)驗(yàn)而已)

SOCKET傳輸文件和接受是有大小限制的,默認(rèn)是81**來則也就是8K多,你可以改小,但改大我沒試過,然后你必須把文件分成若干份,然后傳過去,然后在接收端組合起來,同時(shí)接收端的接受大小要和發(fā)送大小統(tǒng)一。

至于你說的文件名,文件名不屬于文件數(shù)據(jù)中的一部分,它不參與數(shù)據(jù)傳輸?shù)?,你只能在接收端重新改名字?/p>

同時(shí)為什么要用上面的方法傳呢,因?yàn)閂B.NET中的SOCKET有很多問題,我就為此煩過,因?yàn)橐獊G包(理論上TCP不存在),或者粘包,或者斷包,也就是你在接收端獲取文件時(shí)數(shù)據(jù)是要出錯(cuò)的,比如你定長3000B,結(jié)果接收端可能先收到2000B,當(dāng)接受端接受后,處理會(huì)出錯(cuò)的。

所以SOCKET的標(biāo)準(zhǔn)發(fā)送方法是建立定長的結(jié)構(gòu)體(結(jié)構(gòu)體必須定義為可序列化結(jié)構(gòu)體),最好結(jié)構(gòu)體里面至少包含有 1,文件名,2,本包序號,3,本包數(shù)據(jù),比如每個(gè)包大小3040B,文件名占20,序號占20,數(shù)據(jù)占3000,然后發(fā)送出去,接收端每次固定接受3040B,如果接受到的包沒有這么大(比如收到2000),那么繼續(xù)接受(1040),直到達(dá)到3040后組合成一個(gè)包,在把包分解成結(jié)構(gòu)體,相同的文件名為一個(gè)文件,再按照序號按次組合其中的數(shù)據(jù),這就完成了傳輸。這樣的方法還可以同時(shí)傳送多個(gè)文件,因?yàn)榻Y(jié)構(gòu)體里面包含了文件名和序列號,不會(huì)錯(cuò)亂,如果是大文件,請不要接收完畢后(最后一個(gè)包的序號可以為-1,或者包里包含總長度,檢查到序號為-1時(shí)表示完畢,或者達(dá)到總長度后表示完畢)再組合,因?yàn)檫@樣會(huì)浪費(fèi)電腦內(nèi)存,最好的方法是一邊接受數(shù)據(jù),一邊寫入到文件中(收到第一個(gè)包時(shí)就建立文件,以后每個(gè)包的數(shù)據(jù)都往里面寫)。

回答你的問題:

1、經(jīng)過上面的傳輸后,文件是不變化的,MD5檢查都是正常的,不用擔(dān)心文件大小有變化(如果有變化,那就是代碼沒編對)

2,、文件名問題,我前面提到了,文件名是不參與傳輸?shù)?,它不屬于?shù)據(jù)中的一部分,比如同一個(gè)文件,不管你怎么改名字MD5是不變的。你只能通過把文件名想辦法傳給對方(比如我上面說的結(jié)構(gòu)體方法),讓對方寫入文件時(shí)使用。

3,代碼:

還是給你找找吧,等等

不行,我的都很大,很長,你還是在網(wǎng)上找吧,有很多例子,我也是網(wǎng)上學(xué)的。


當(dāng)前名稱:vb.net標(biāo)記可序列化 net可序列化的類標(biāo)記為
網(wǎng)頁路徑:http://weahome.cn/article/dohooei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部