很简单的问题,是关于TIdTCPClient控件的.

mentalpatient 2007-03-29 03:09:10
我怎么也接受不到TIdTCPClient接受的数据,大家来看看.

PS:简单程序

client.Host:='192.168.1.1';
client.Port:=8855;

client.Connect(1000); //服务端能够看到,已经连接上

client.Write('PC'); //服务端能够接受到,并返回一些数据

client.Readln; //程序到这就死了,接收不到数据

client.Disconnect;
...全文
288 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mentalpatient 2007-03-29
  • 打赏
  • 举报
回复
彻底晕到,知道是怎么回事了.

我在给客户端发的时候,没有以(#13)结尾,造成读不出来...........

谢谢以上各位的关注和帮助
xiaocai800322 2007-03-29
  • 打赏
  • 举报
回复
关注
hyclt 2007-03-29
  • 打赏
  • 举报
回复
我这几天在做这个东西 因为要毕业设计 我一开始没放那个IdAntiFreeze 也会死掉 大概是这个的关系 你放看看
hyclt 2007-03-29
  • 打赏
  • 举报
回复
客户端可以放个timer组件
然后Msg:=IdTCPClient1.ReadLn('', 5);你看看可以不?或者再放个IdAntiFreeze
mentalpatient 2007-03-29
  • 打赏
  • 举报
回复
我怎么也接受不到TIdTCPClient接受的数据,大家来看看.

PS:简单程序

client.Host:='192.168.1.1';
client.Port:=8855;

client.Connect(1000); //服务端能够看到,已经连接上

client.Write('PC'); //服务端能够接受到,并返回一些数据

client.Readln; //程序到这就死了,接收不到数据

client.Disconnect;

我的意思是我服务端发送接收没问题,就是客户端收不到服务端给他发的消息,不知道是什么问题,一读数据就死在那了
hongqi162 2007-03-29
  • 打赏
  • 举报
回复
可以设置一下IdTCPClient的ReadTimeout
hongqi162 2007-03-29
  • 打赏
  • 举报
回复
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
with AThread.Connection do
begin
if ReadLn='PC' then
begin
WriteLn('PC');
end;
end;
end;
hyclt 2007-03-29
  • 打赏
  • 举报
回复
server可以向client发送数据 但是client自己没有onexcute过程所以最好加timer组件 然后加个readln就可以读了吧。。。
hongqi162 2007-03-29
  • 打赏
  • 举报
回复
client在发送完pc后等待server返回的字符串,既然服务端看到了,那就是server没有向client返回数据
hyclt 2007-03-29
  • 打赏
  • 举报
回复
你的意思是服务端接受不到client的数据 还是client接受不到服务端的数据??

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧