这个不难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的用法很简单,你可以查一下在服务器监听后,没当新建一个连接,就把套接字加进这个字典里当断开连接的时候相应要从字典里删除保存的这个套接字
服务器监听客户端连接的时候 你要把 连接 保存起来List<Socket > lst=new List<Socket >();Socket client= sc.Accept(); lst.Add(client);然后你要给客户端发送数据 就用 lst[0].Send();lst[1].Send();lst[2].Send();.......................