Ejemplo n.º 1
0
        public void SwitchToP2P(NetworkStream netStream, string key, Messagehandler mh)
        {
            if (window.InvokeRequired)
            {
                window.Invoke(new Action <NetworkStream, string, Messagehandler>(SwitchToP2P), new object[] { netStream, key, mh });
                return;
            }
            isP2P = true;
            int NumberChars = key.Length;

            byte[] personalKey = new byte[NumberChars / 2];
            for (int i = 0; i < NumberChars; i += 2)
            {
                personalKey[i / 2] = System.Convert.ToByte(key.Substring(i, 2), 16);
            }

            writer      = new P2PWriter(netStream, personalKey);
            p2pListener = new P2PListener(netStream, receiver, personalKey);
            writer      = new P2PWriter(netStream, personalKey);

            mh.Subscribe(p2pListener);
            p2pListener.StartListen();
            window.attachmentPanel.Visible = true;
            window.userStatusLabel.Text    = "Online";
        }
Ejemplo n.º 2
0
        //Constructs backend modules
        private void ConstructBackend()
        {
            connector = new SSLConnector(IP, PORT); //Connect to server!
            connector.Connect();
            IPAddress ip = connector.getIP();

            writer         = new SSLWriter(connector.SslStream);
            streamListener = new SSLListener(connector.SslStream);
            messagehandler = new Messagehandler();
            logCrypto      = new ClientCrypto();
            p2pConnector   = new P2PConnector();
        }
Ejemplo n.º 3
0
 public void Subscribe(Messagehandler mh, P2PConnector p2pc)
 {
     messageHandler               = mh;
     mh.IncommingClientMessage   += new EventHandler(IncommingMessage);
     mh.IncommingLoginAck        += new EventHandler(LoggingIn);
     mh.IncommingFriendRequest   += new EventHandler(ReceivedFriendRequest);
     mh.IncommmingFriendResponse += new EventHandler(ReceivedFriendResponse);
     mh.OutgoingP2P              += new EventHandler(ReceivedP2PResponse);
     mh.NewStatusUpdate          += new EventHandler(ReceivedStatusUpdate);
     contactsHandler.Subscribe(mh);
     p2pc.IncommingConnection += new EventHandler(NewP2PConnection);
     mh.DisconnectP2P         += new EventHandler(DisposeP2PConnection);
     mh.FileResponse          += new EventHandler(ReceivedFileResponse);
     mh.FileRequest           += new EventHandler(ReceivedFileRequest);
 }
Ejemplo n.º 4
0
        public void UnSubscribe(Head head, Messagehandler handler)
        {
            if (!_messageSubscribers.ContainsKey(head))
            {
                return;
            }

            var subs = _messageSubscribers[head];

            if (subs == null || !subs.Contains(handler))
            {
                return;
            }

            subs.Remove(handler);
        }
Ejemplo n.º 5
0
 public void Subscribe(Head head, Messagehandler handler)
 {
     if (_messageSubscribers.ContainsKey(head))
     {
         var subs = _messageSubscribers[head];
         if (subs == null)
         {
             _messageSubscribers[head] = new List <Messagehandler> {
                 handler
             }
         }
         ;
         else
         {
             _messageSubscribers[head].Add(handler);
         }
     }
     else
     {
         _messageSubscribers.Add(head, new List <Messagehandler> {
             handler
         });
     }
 }
Ejemplo n.º 6
0
        public IndividualChatDriver(string username, string receiver, FileManager fm, NetworkStream netstream, Messagehandler mh, string key, string status)
        {
            isP2P                = true;
            this.username        = username;
            this.receiver        = receiver;
            this.fm              = fm;
            window               = new IndividualChatWindow(receiver);
            window.WindowState   = FormWindowState.Minimized;
            window.ShowInTaskbar = false;
            window.getStatusTextLabel().Text = status;
            spam = new SpamProtector();
            SetupListners();

            int NumberChars = key.Length;

            byte[] personalKey = new byte[NumberChars / 2];
            for (int i = 0; i < NumberChars; i += 2)
            {
                personalKey[i / 2] = System.Convert.ToByte(key.Substring(i, 2), 16);
            }

            writer      = new P2PWriter(netstream, personalKey);
            p2pListener = new P2PListener(netstream, receiver, personalKey);
            writer      = new P2PWriter(netstream, personalKey);

            mh.Subscribe(p2pListener);
            p2pListener.StartListen();

            new Thread(() => Application.Run(window)).Start();
            Thread.Sleep(10);
        }
Ejemplo n.º 7
0
 public void RD_Subscribe(Messagehandler mh)
 {
     mh.IncommingRegAck += new EventHandler(RD_RegisterCheck);
 }