在Indy的IdTCPServer中,如何向所有连接上来的IdTCPServer同时发一个信息?(如一个公告等)

解决方案 »

  1.   

    是向IdTCPClient同时发一个信息
      

  2.   

    在IdTCPServer的connection事件中应该可以吧。这个事件可以检测到上连的客户端。
      

  3.   

    try
        with idtcpserver.LockList do
        for i:=0 to Count-1 do
          TIdPeerThread(Items[I).Connection.WriteStrings();
       finally
          idtcpserver.UnlockList;
       end;
      

  4.   


    summer111(雪池)应该是这样吧..
    try
      with IdTCPServer1.Threads.LockList do
        for i:=0 to Count-1 do
          TIdPeerThread(Items[I).Connection.WriteStrings();
    finally
      idtcpserver.UnlockList;
    end;
      

  5.   

    多谢murray2081。
    还有一个问题,服务器向客户机发了信息后,客户机上用户怎么能立即就看到这个信息?(如弹出一个对话框、或在Tmemo中自动加入一行收到的信息)
      

  6.   

    你在CLIENT用阻塞模式,TIDTCPCLIENT有个事件,不断读取,显示就可以了。