ServerSocket->Socket->Connection[0]->SendText("....")
这是服务器端向哪一个连接的客户端发送信息啊?
我想实现:服务器端有选择性的发送到连接的若干个客户端???该如何实现呢?
Delphi C++Builder代码均可在Server端的OnClientRead事件中有如下代码“:
 AnsiString Msg;
 TCustomWinSocket *client;
 Msg=Socket->RemoteAddress+Socket->ReceiveText();
 Memo1->Lines->Add(Msg);
 for(int i=0;i<ServerSocket1->Socket->Connection[i])  //??
 {  
    client=ServerSocket1->Socket->Connection[i]; //??
    client->SendText(Msg);  //? } //这个循环起的作用是什么啊?

解决方案 »

  1.   

    就是循环取连接到这个服务端的所有连接的客户端。每个客户端都是一个Connection
    for(int i=0;i<ServerSocket1->Socket->Connection[i])  //??/////////错拉,应该是
    ServerSocket1->Socket->ActiveConnections
     {  
        client=ServerSocket1->Socket->Connection[i]; //??delphi里的代码:
     Msg:=Socket.RemoteAddress+Socket.ReceiveText;
     Memo1.Lines.Add(Msg);
     for i:=0 to i<ServerSocket1.socket.ActiveConnections do
        ServerSocket1.Socket.Connection[i].SendText(Msg);
      

  2.   

    ServerSocket->Socket->Connection[0]->SendText("....")
    就是向第一个连接的客户端发送数据,每个Connection都是一个TCustomWinSocket,你可以得到这个连接的Ip,Port等信息,看看就明白了。