ServerSocket1预计会和n多个ClientSocket1连接用ServerSocket1.socket.connections[x].sendtext(edit1.Text ) ;语句发送数据给客户端,可是[x]的取值问题始终难以解决我计划根据客户端的ip和port来区分各个ClientSocketip可以用Socket.RemoteAddress取得可是port怎么办呢还是另有其他办法实现对客户端的区分呢

解决方案 »

  1.   

    在onClientRead(OnClientConnect,OnClientDisConnect,OnClientWrite)中都可以:
        for i := 0 to SvrSck.Socket.ActiveConnections - 1 do
        begin
            if Serversocket.Socket.Connections[i].Handle=Socket.Handle then
               showmessage(Serversocket.Socket.Connections[i].RemoteAddress);
        end;这样可以知道是哪个客户端了
      

  2.   

    M1.Lines.add(#9'SocketID:'+Inttostr(Socket.SocketHandle));  //試試