我发现怎么找我就找不到获取TIDTCPServer.onexecute事件中athread.connection的已接收的数据长度呢?
athread.connection.currentreadbuffersize很像,但是一直是0,没变过。
当然我确定接收缓冲区是肯定有数据的。
怎么办好啊?
athread.connection.currentreadbuffersize很像,但是一直是0,没变过。
当然我确定接收缓冲区是肯定有数据的。
怎么办好啊?
解决方案 »
- 获取网页内容奇怪的现象
- 我想用Delphi编写一个数据库转换程序?把VF数据库的dbf表转成Oracle数据库的表?不知道改如何下手?
- 双击DBGrid的数据。怎样才能把里面的数据拿到一个text中?
- WebBrowser问题,为什么我用Delphi开发的浏览器,网页里文字不可以Copy?急!!!!!
- Sorry,请大家测试的软件忘记给密码了,PASSWORD:whoami 希望大家继续支持啊
- 在DELPHI中使用SQL语言有哪些规则,100分求教!
- 按回车键时,在TEXT中输入大于号怎么实现,谢谢!
- 程序非正常退出或者机器断电,数据丢失如何解决?
- 请问哪里可以免费下载Delphi软件?谢谢!!
- 初级问题,如何把DBNavigator组件的delete按钮的删除警告换成中文的(即用api函数messagebox代替)?
- 存储过程中的高手请进来,求救呀~~先谢谢了
- 怎么我双击pageControl控件就直接进入代码窗口?
http://community.csdn.net/Expert/topic/4369/4369081.xml?temp=.600567
procedure TForm1.Button1Click(Sender: TObject);
var
buf: array[0..1023] of byte;
count: integer;
begin
Randomize;
count:=RandomRange(1, 1024);
IdTcpClient1.WriteBuffer(count, sizeof(count));
IdTcpClient1.WriteBuffer(buf, count);
end;接收端示例:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
buf: array[0..1023] of byte;
count: integer;
begin
try
AThread.Connection.ReadBuffer(count, sizeof(count));
AThread.Connection.ReadBuffer(buf, count);
finally end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
buf: array[0..1023] of byte;
count: integer;
begin
Randomize;
count:=RandomRange(1, 1024);
IdTcpClient1.WriteBuffer(buf, count);
end;接收端示例:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
buf: array[0..1023] of byte;
count: integer;
begin
try
count:=AThread.Connection.ReadFromStack;
if count<>0 then
begin
AThread.Connection.ReadBuffer(buf, count);
end;
finally end;
end;