使用indy的tcp组件,在idtcpserver端用writeln('OK'),在idtcpclient端用readln(rc,5)接收,为什么rc的值总为空呢?高手请出招....

解决方案 »

  1.   

    idtcpclient端要用线程或者timer控件一直读取才可以,看delphi下的demo下的chat例子。
      

  2.   

    Function ReadLn(ATerminator: string = LF; const ATimeout: Integer = IdTimeoutDefault; AMaxLineLength: Integer = -1): string;
    这是其函数原定义,在ReadLn中第一参数为终结字符.
    使用方法如下:
    TCPServer端写WriteLn('OK'+#13);
    TCPClient端为string:=ReadLn(#13);
      

  3.   

    这个例子delphi没有带,到http://soft.56kc.com/FileDown.aspx?FID=411下载
      

  4.   

    看了 xxcsoftware(TechComputer) 的回答,原来是这样rc := idtcpclient端用readln('',5)
      

  5.   

    为什么当客户端连接后,服务端的onexcute事件会不停运行的?比如在onexcute事件中写memo1.lines.add(formatdatetime('HH:mm:SS',now)),当连接后,服务端会一直运行这一句。为什么不是运行一次呢?而客户端connect后发送的信息服务端收不到。为什么啊??