我写了一个接收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);
解决方案 »
- error in module:call to application.create form is missing or incorrect
- 求救:两台机器用Modem连接后,一台机器怎么访问另一台机器?
- 高手给看看这几行代码错在哪里?
- 如何在Delphi中使用多维动态数组?
- 如何删除stringgrid中焦点所在行的记录
- 菜鸟提问: 有关SQL SERVER的问题
- Delphi CXTreeList 自动添加列与行?
- 请帮忙看看问题,关于OleVariant取数,在线等
- 我使用的一套人事管理系统中有一个表是是关于员工资料的,其中有一个列是用来存在相片的,我想另编程序来显示相片
- 在这里提问有限制吗?怎么老是失败? Why?
- 关于delphi打印预览以及打印格式设置的问题
- Twebbrowser在新窗口打开链接的问题
Len := TWSocket(Sender).Receive(@Buf[10], Sizeof(Buf) -10);一般如果你用阻塞模式的话,发数数据可以先发长度,收到这个长度后开辟一块相应长度的内存,再接收