// 4. Отправить полученные данные всем клиентам в комнате private static void SendData(IAsyncResult ar) { SocketCoderClient socketCoderClient = (SocketCoderClient)ar.AsyncState; byte[] masRecData = socketCoderClient.GetRecievedData(ar); if (masRecData.Length < 1) { socketCoderClient.ReadOnlySocket.Close(); arrayClient.Remove(socketCoderClient); return; } foreach (SocketCoderClient clnt in arrayClient) { if (socketCoderClient != clnt) { try { clnt.ReadOnlySocket.Send(masRecData); } catch { clnt.ReadOnlySocket.Close(); arrayClient.Remove(socketCoderClient); return; } } } socketCoderClient.acceptCallback(); }
// 3. Создайте Socket для каждого клиента и добавьте его в Socket ArrayList private static void AddNewClient(Socket socket) { nClient = new SocketCoderClient(socket); arrayClient.Add(nClient); nClient.acceptCallback(); }