你必须自己创建一个socket的数组,记住每一个连接的客户端的stocket
然后用这个socket.sendtext可以发送。

解决方案 »

  1.   

    定义
    sockhandle:integer;
    赋值
    sockhandle := ServerSocket1.Socket.ActiveConnections;
    实现
    var
        i:integer;
    begin
        if Socket.ReceiveText = 'read' then
        begin
            for i:= 0 to sockhandle - 1 do
                if ServerSocket1.Socket.Connections[i].Data = socket.Data then
                    ServerSocket1.Socket.Connections[i].SendText('成功接收。');
        end;
    end;为什么用此方式也不行。
    2)以上代码可能会出现这样的错误。
    其中中间一个客户继开,发送数据出错。
    有谁能帮助我解决这个问题呀。
    3)还是想有一个线程的实现。
      

  2.   

    serversock1.socket.connect[0].sendtext('read');工作的很好啊!你可以用Socket.data纪录connect的索引值!
      

  3.   

    DATA中有CONNECT这个值吗。
    好象没有看见过呀。有没有这样的实例呢。
    还有一问题就是服务器采用堵塞方式如何取得客户端巳经继开呢?
      

  4.   

    我有个方法:
    创建个TList,把每一个连接的Handle纪录起来,并在连接和断链时更新。
    当服务端读到客户端的数据时,Handle值也跟着带进来,你就可以保存这个Handle并向它发送数据。
    这是一个常用的服务端对多客户端解决方案,我有源程序,但首先我要知道你的E-Mail。
      

  5.   

    我的EMAIL:[email protected]
    谢了
      

  6.   

    我也想看看
    [email protected]
    谢谢了
      

  7.   

    我也想要一份
    [email protected]
    谢谢了