Exemple #1
0
        // 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();
        }
Exemple #2
0
        // 3. Создайте Socket для каждого клиента и добавьте его в Socket ArrayList
        private static void AddNewClient(Socket socket)
        {
            nClient = new SocketCoderClient(socket);
            arrayClient.Add(nClient);

            nClient.acceptCallback();
        }