首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

ServerSocket 怎么控制向不同客户端发信息

2013-01-05 
ServerSocket 如何控制向不同客户端发信息?假如有10个ClientSocket, 已经连接到ServerSocket上。如何向某一

ServerSocket 如何控制向不同客户端发信息?
假如有10个ClientSocket, 已经连接到ServerSocket上  。如何向某一个指定的客户端主动发信息?另外是否还有其他更好用的控件?我用的是bcb 6.0
[解决办法]
ServerSocket1->Socket->Connections[i]->SendText("消息内容");
[解决办法]
更好的控件,当然是indy了.
IdTCPServer/IdTCPClient
[解决办法]
这个Connections是ServerSocket自动维护的,有一个连接过来,就计数加1, 有连接断开,计数减1, 每个连接对应一个客户端IP地址和一个客户端的端口号, 通过这个来确定连接的唯一性.
[解决办法]
ServerSocket1->Socket->Connections[i]->RemoteHost或
ServerSocket1->Socket->Connections[i]->RemoteAddress来区别不同的客户端连接,给它们发送不同的消息

for(int i = 0;i < ServerSocket1->Socket->ActiveConnections ; i++)
{
    if(ServerSocket1->Socket->Connections[i]->RemoteHost.AnsiCompare("####") == 0)
        ServerSocket1->Socket->Connections[i]->SendBuf();
    else
        ServerSocket1->Socket->Connections[i]->SendBuf();

}

热点排行