日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Indy TCP/IP 组件里的几个常用方法

發布時間:2023/12/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Indy TCP/IP 组件里的几个常用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
其實Indy比較簡單,但是可以提供的方法太多了。我找了很久,才搞明白。 ?
? ?
? 比方說這個讀取緩沖區的數據,就有很多種方法。相對于TTcpClient的幾種方法來說,TIdTCPClient確實提供了多種選擇,不仔細研究真的容易糊涂(其實我比較喜歡用CurrentReadBuffer): ?
? ?
? 1、ReadFromStack ?
? 原型:function ? ReadFromStack(const ? ARaiseExceptionIfDisconnected: ? boolean; ? const ? ATimeout: ? integer; ? const ? AUseBuffer: ? boolean; ? ADestStream: ? TIdBuffer): ? integer; ? virtual; ?
? 用于判斷緩沖區里是否還有數據可讀,返回值:Integer ? - ? Number ? of ? bytes ? read. ?
? ?
? 2、CurrentReadBuffer ?
? 原型:function ? CurrentReadBuffer: ? string; ?
? 用于讀取Socket數據到緩沖區,注意返回為String類型,如果直接顯示該String的數據,對于/0之后的數據可能看不到,因此要讀取所有的數據,還必須利用CurrentReadBufferSize()判斷該String的長度。 ?
? 返回值:String ? - ? Contents ? of ? the ? Indy ? buffer. ?
? ?
? 3、GetResponse ?
? 原型:function ? GetResponse(const ? AAllowedResponses: ? Array ? of ? SmallInt): ? SmallInt; ? virtual; ?
? 對于簡單的命令應答可以使用這個方法獲取應答消息,返回值:SmallInt ? - ? The ? numeric ? response ? number. ?
? ?
? 4、ReadBuffer ?
? 原型:procedure ? ReadBuffer(var ? ABuffer; ? const ? AByteCount: ? Longint); ?
? 讀取指定數目的字節到緩沖區ABuffer,注意它會調用 ? ReadFromStack ? 以檢查緩沖區里的數據是否少于AByteCount ?
? ?
? 5、ReadInteger ?
? 原型:function ? ReadInteger(const ? AConvert: ? boolean): ? Integer; ?
? 從緩沖區中讀取整型數據,它會調用ReadBuffer ?
? ?
? 6、ReadLn ?
? 原型:function ? ReadLn(const ? ATerminator: ? string; ? const ? ATimeout: ? integer): ? string; ? virtual; ?
? 讀取移行記錄,帶有一個TimeOut屬性,以防止在讀不到新行時死循環。返回值:String ? - ? Line ? read ? from ? the ? buffer. ?
? 注意行分隔符可能是以下幾種: ?
? #0 ? - ? Default ? Line ? Feed ? (#10) ?
? LF ? - ? Line ? Feed ? (#10) ?
? CR ? - ? Carriage ? Return ? (#13) ?
? EOL ? - ? End-of-line ? (Carriage ? Return ? + ? Line ? Feed) ?
? ?
? 7、ReadLnWait: ?
? 原型:function ? ReadLnWait: ? string; ?
? 很像ReadLn,但它會一直傻傻的等待 ?
? ?
? 8、ReadSmallInt ?
? 原型:function ? ReadSmallInt(const ? AConvert: ? boolean): ? SmallInt; ?
? ?
? 9、ReadStream ?
? 原型:procedure ? ReadStream(AStream: ? TStream; ? AByteCount: ? LongInt; ? const ? AReadUntilDisconnect: ? boolean); ?
? ?
? 10、ReadString ?
? 原型:function ? ReadString(const ? ABytes: ? integer): ? string; ?
? 與CurrentReadBuffer的不同在于它讀取指定長度的字符串

總結

以上是生活随笔為你收集整理的Indy TCP/IP 组件里的几个常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。