使用TCPclient连接到服务端后,怎么判断连接是否还存在!还有用过spcomm的朋友,怎么知道指定端口是否为spcomm打开的

解决方案 »

  1.   

    if IdTCPClient.Connected then showmessage('已连接');
      

  2.   

    procedure TForm1.IdTCPServerExecute(AContext: TIdContext);我用的是delphi2010 indy 10
      

  3.   

    idtcpserver 里,获取客户端主机名以及一系列参数都是什么属性,能告诉我一下么?
      

  4.   

    比如:IdTCPServer的OnConnect事件指向下面的 IdTCPServerConnect 过程:procedure TMainForm.IdTCPServerConnect(AContext: TIdContext);AUserName := AContext.Connection.IOHandler.ReadLn;  //客户机名AContext.Binding.PeerIP  //客户机IPAContext.Binding.PeerPort //客户机端口对于客户机名,客户端的连接事件中要加入:
    var
      HostName: array[0..MAX_COMPUTERNAME_LENGTH] of char;
    过程如下:
       Length := SizeOf(HostName);
       GetComputerName(HostName, Length);
      UserName := HostName;
      IdTCPClient.IOHandler.WriteLn(UserName);
      

  5.   

    谢了,这分给你了!我一直是在做串口的,对TCP不太了解!能告诉我你的QQ吗?或者加我:550433  ,方便沟通哦!
      

  6.   

    能告诉我 delphi2010去哪下吗?
      

  7.   

    http://www.gougou.com/search?search=delphi%202010&id=0
    用迅雷吧
    1.66G那个除Deplphi,还带C++builder 和 帮助文件吗
    355m那个只有Delphi
      

  8.   


    我用idclient时候,接收由server端返回的数据时,没有相应的事件,如果一直读取缓冲区,会造成程序假死,请问,有解决办法么?
      

  9.   

      while  not   Application.Terminated  and Form1.IdTCPClient.Connected  do  temp:=Form1.IdTCPClient.IOHandler.ReadLn();