求教一下大家缓冲区的处理
时间:2011-11-02
来源:互联网
             我写了一个接收clientsocket数据的程序,设了1K的char数组用于接收数据,但是对方发送的数据有时大有时小,小的数据比较好处理,一次接收完成。大的数据需要读几次,但是我不知道如何让char数组,接收数据的时侯能够存储在char数组的任何位置。
var
str:string;
i:integer;
Buf : array [0..1023] of char;
Len : Integer;
p:pchar;
begin
Len := TWSocket(Sender).Receive(@Buf, Sizeof(Buf) - 1);
            var
str:string;
i:integer;
Buf : array [0..1023] of char;
Len : Integer;
p:pchar;
begin
Len := TWSocket(Sender).Receive(@Buf, Sizeof(Buf) - 1);
作者: chenquanfz 发布时间: 2011-11-02
             比如读到数组的第10个字节之后,可以这样:
Len := TWSocket(Sender).Receive(@Buf[10], Sizeof(Buf) -10);
一般如果你用阻塞模式的话,发数数据可以先发长度,收到这个长度后开辟一块相应长度的内存,再接收。。。
            Len := TWSocket(Sender).Receive(@Buf[10], Sizeof(Buf) -10);
一般如果你用阻塞模式的话,发数数据可以先发长度,收到这个长度后开辟一块相应长度的内存,再接收。。。
作者: wzwcn 发布时间: 2011-11-03
 相关阅读 更多  
      
    热门阅读
-   office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具阅读:74 
-   如何安装mysql8.0 如何安装mysql8.0阅读:31 
-   Word快速设置标题样式步骤详解 Word快速设置标题样式步骤详解阅读:28 
-   20+道必知必会的Vue面试题(附答案解析) 20+道必知必会的Vue面试题(附答案解析)阅读:37 
-   HTML如何制作表单 HTML如何制作表单阅读:22 
-   百词斩可以改天数吗?当然可以,4个步骤轻松修改天数! 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!阅读:31 
-   ET文件格式和XLS格式文件之间如何转化? ET文件格式和XLS格式文件之间如何转化?阅读:24 
-   react和vue的区别及优缺点是什么 react和vue的区别及优缺点是什么阅读:121 
-   支付宝人脸识别如何关闭? 支付宝人脸识别如何关闭?阅读:21 
-   腾讯微云怎么修改照片或视频备份路径? 腾讯微云怎么修改照片或视频备份路径?阅读:28 















