日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

關(guān)于 Indy 的發(fā)送與接收 及 不定長(zhǎng)度流的見(jiàn)解

系統(tǒng) 2189 0

Delphi2010 的Indy10中各種IOHandler提供了相應(yīng)的ReadXXX 與 WriteXXX方法。

在一個(gè)Client / Server 的通迅中。我們會(huì)用到以上方法,當(dāng)我們寫(xiě)一個(gè)流時(shí),我們需要關(guān)心的是流的大小。一般做法是先把流大小發(fā)送過(guò)去,在返回 準(zhǔn)備好 之后再發(fā)送流。

下面做一個(gè)假設(shè): 在一個(gè)連接的基礎(chǔ)上

Server (1) 發(fā)送流大小,等待返回

Client? (2)讀出流大小,發(fā)送 準(zhǔn)備好

Client? (2)要求發(fā)送其它命令

這時(shí) (2) 這一步驟,若要求發(fā)送其它命令在前的話,Server 讀到的就不是 準(zhǔn)備好 命令了。

為了避免或者說(shuō)為了說(shuō)明 一次性命令 內(nèi)容,我們可以使用結(jié)構(gòu)來(lái)完成 Server 的要求,即 發(fā)送一個(gè)帶命令的流

為了以上目的。我們需要定義一個(gè)結(jié)構(gòu)

??? TCommandContext = Record

????????? Command:string[50];

????????? StreamSize:integer;

???? end;

這樣命令放入 Command 中,后續(xù)流的大小放入StreamSize里。

一、讀取

?

Code

?

二、寫(xiě)入

?

Code

?

需要注意的是寫(xiě)入流時(shí)用到的是 Write方法,不需要加Stream.Size,不然你就會(huì)得到一個(gè)出錯(cuò)提示。

關(guān)于 Indy 的發(fā)送與接收 及 不定長(zhǎng)度流的見(jiàn)解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 福清市| 古田县| 姚安县| 仲巴县| 大名县| 普安县| 凤凰县| 永善县| 包头市| 凉城县| 诸暨市| 雅江县| 邢台市| 青冈县| 特克斯县| 清河县| 营山县| 平阳县| 桂东县| 临汾市| 永定县| 福泉市| 大同县| 通化县| 马龙县| 聊城市| 精河县| 板桥市| 桓仁| 海淀区| 乐亭县| 报价| 海丰县| 巩留县| 东丽区| 阜阳市| 永德县| 锡林郭勒盟| 旬阳县| 湘潭县| 科技|