第1个回答 2012-01-15
这个不难
1,
Dictionary<string, Socket> Channels = new Dictionary<string, Socket>();
声明这个键值对类型的字典,保存已经建立链接的套接字
里面保存的形式可以是 <"192.168.1.1",sokcet> // IP地址,该地址的套接字
2,好了,我们要向特定的客户端发送消息,可以这样
if (this.Channels.ContainsKey(“192.168.1.1”)) //先判断有没有这个键值
{
//如果有
socket mySocket = Channels["192.168.1.1"];//取出这个客户端的套接字
// 然后就可以发送了
mySocket.Send(……)
}
else
{
//该地址的客户端未建立连接
}
Dictionary的用法很简单,你可以查一下
在服务器监听后,没当新建一个连接,就把套接字加进这个字典里
当断开连接的时候相应要从字典里删除保存的这个套接字