Example #1
0
 protected virtual void OnConnectionMade(ConnectEventArgs args)
 {
     if (ConnectionMade != null)
     {
         ConnectionMade(this, args);
     }
 }
Example #2
0
        public bool Connect(string server, int port, bool ssl = false, int timeout = 1800)
        {
            client.BeginConnect(server, port, result => {
                connectDone.Set();
            }, this);

            connectDone.WaitOne(1800, false);

            if (!client.Connected)
            {
                return(false);
            }

            Stream baseStream = client.GetStream();

            if (ssl)
            {
                baseStream = new SslStream(baseStream, false,
                                           new RemoteCertificateValidationCallback((sender, certificate, chain, sslPolicyErrors) => true),
                                           null);
                ((SslStream)baseStream).AuthenticateAsClient(server);
            }

            streamWriter = new StreamWriter(baseStream);
            streamReader = new StreamReader(baseStream);

            ConnectEventArgs args = new ConnectEventArgs();

            networkView.Connected(this);
            Thread.Sleep(100);
            OnConnectionMade(args);

            Nickname = args.Nickname ?? BirchSettings.Instance.Nickname;
            Hostname = args.Hostname ?? "BirchClient";
            Username = args.Realname ?? BirchSettings.Instance.Username;

            SendRaw("USER {0} {1} {2} :{3}", Nickname, Hostname, Hostname, Username);
            SendRaw("NICK {0}", Nickname);
            EnterMessageLoop();

            return(true);
        }
Example #3
0
        public bool Connect (string server, int port, bool ssl = false, int timeout = 1800) {
            client.BeginConnect (server, port, result => {
                connectDone.Set ();
            }, this);

            connectDone.WaitOne (1800, false);

            if (!client.Connected) {
                return false;
            }

            Stream baseStream = client.GetStream ();

            if (ssl) {
                baseStream = new SslStream (baseStream, false,
                    new RemoteCertificateValidationCallback ((sender, certificate, chain, sslPolicyErrors) => true),
                    null);
                ((SslStream)baseStream).AuthenticateAsClient (server);
            }

            streamWriter = new StreamWriter (baseStream);
            streamReader = new StreamReader (baseStream);

            ConnectEventArgs args = new ConnectEventArgs ();
            networkView.Connected (this);
            Thread.Sleep (100);
            OnConnectionMade (args);

            Nickname = args.Nickname ?? BirchSettings.Instance.Nickname;
            Hostname = args.Hostname ?? "BirchClient";
            Username = args.Realname ?? BirchSettings.Instance.Username;

            SendRaw ("USER {0} {1} {2} :{3}", Nickname, Hostname, Hostname, Username);
            SendRaw ("NICK {0}", Nickname);
            EnterMessageLoop ();

            return true;
        }
Example #4
0
 protected virtual void OnConnectionMade (ConnectEventArgs args) {
     if (ConnectionMade != null) {
         ConnectionMade (this, args);
     }
 }