服务器端
static List<Client> clientList = new List<Client>();//储存了连接上的客户端
/// <summary>/// 广播消息
/// </summary>
/// <param name="message"></param>
public static void BroadcastMessage(string message)//广播方法,遍历List集合
{
var notConnectedList = new List<Client>();//存储动态连接的客户端
foreach (var client in clientList)
{
if (client.Connected)
{
client.SendMessage(message);//每个消息都广播出去
}
else
{
notConnectedList.Add(client);
}
}
foreach (var temp in notConnectedList)
{
clientList.Remove(temp);//移除所有的Client的
}
}
static void Main(string[] args)
{
Socket tcpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
tcpSocket.Bind(new IPEndPoint(IPAddress.Parse("192.168.2.84"),7788));//传入IP和端口号
tcpSocket.Listen(100);//开始监听
Console.WriteLine("ser