Esempio n. 1
0
        void listener_SocketAccepted(object sender, SocketConnectedEventArgs e)
        {
            Client client = new Client(e.AcceptedSocket);
            string addr = client.Address.Split(':')[0];
            if (Settings.DupPrevnt)
            {
                if (conAddr.Contains(addr))
                {
                    PacketWriter wr = new PacketWriter();
                    wr.Write((int)PacketHeader.LIMIT);
                    client.Send(wr.ToArray(true));
                    wr = null;
                    Invoke((MethodInvoker)delegate
                    {
                        GlobalProperties.NI.ShowBalloonTip(2000, "Duplication Prevention", "A client has been disconnected to prevent duplication.", ToolTipIcon.Error);
                    });
                    client.Close();
                    return;
                }
                else
                    conAddr.Add(addr);
            }

            Clients.Add(client);
            client.Disconnected += new Client.DisconnectedEventHandler(client_Disconnected);
            client.DataSent += new EventHandler<DataSentEventArgs>(client_DataSent);
            client.DataReceived += new EventHandler<DataReceivedEventArgs>(client_DataReceived);
            client.BeginRead();
        }