public void XmppSendTest() { var xmpp = new XmppClientConnection(domain); xmpp.ConnectServer = connectserver; xmpp.Open(username, password); xmpp.OnError += new ErrorHandler(delegate { logerror(); }); xmpp.OnLogin += delegate(object o) { xmpp.Send(new Message(new Jid(recipient), MessageType.chat, "james")); }; while (!xmpp.Authenticated) System.Threading.Thread.Sleep(500); System.Threading.Thread.Sleep(1000); xmpp.Send(new Message(new Jid(recipient), MessageType.chat, "james")); xmpp.Close(); }
public async Task<Session.IInfo> AuthenticateAsync(string connectServer, string authenticationToken) { XmppClientConnection connection = new XmppClientConnection(); connection.Server = Guest.Server; connection.Username = Guest.User; connection.Password = GuestPassword; connection.AutoResolveConnectServer = false; connection.ForceStartTls = false; connection.ConnectServer = connectServer; // values.HarmonyHubAddress; connection.AutoAgents = false; connection.AutoPresence = false; connection.AutoRoster = false; connection.OnSaslStart += OnSaslStart; connection.OnSaslEnd += OnSaslEnd; connection.OnXmppConnectionStateChanged += (s, e) => Instrumentation.Xmpp.ConnectionStateChanged(e); connection.OnReadXml += (s, e) => Instrumentation.Xmpp.Receive(e); connection.OnWriteXml += (s, e) => Instrumentation.Xmpp.Transmit(e); connection.OnError += (s, e) => Instrumentation.Xmpp.Error(e); connection.OnSocketError += (s, e) => Instrumentation.Xmpp.SocketError(e); Task connected = Observable.FromEvent<agsXMPP.ObjectHandler, Unit>(handler => s => handler(Unit.Default), handler => connection.OnLogin += handler, handler => connection.OnLogin -= handler) .Timeout(TimeSpan.FromSeconds(30)) .Take(1) .ToTask(); connection.Open(); await connected; Task<Session.IInfo> session = Observable.FromEvent<agsXMPP.protocol.client.IqHandler, agsXMPP.protocol.client.IQEventArgs>(handler => (s, e) => handler(e), handler => connection.OnIq += handler, handler => connection.OnIq -= handler) .Do(args => Instrumentation.Xmpp.IqReceived(args.IQ.From, args.IQ.To, args.IQ.Id, args.IQ.Error, args.IQ.Type, args.IQ.Value)) .Do(args => args.Handled = true) .Select(args => args.IQ) .SessionResponses() .Timeout(TimeSpan.FromSeconds(10)) .Take(1) .ToTask(); connection.Send(Builder.ConstructSessionInfoRequest(authenticationToken)); Session.IInfo sessionInfo = await session; connection.Close(); return sessionInfo; }
static void Main(string[] args) { const string JID_SENDER = "*****@*****.**"; const string PASSWORD = "******"; // password of the JIS_SENDER account const string JID_RECEIVER = "*****@*****.**"; Jid jidSender = new Jid(JID_SENDER); XmppClientConnection xmpp = new XmppClientConnection(jidSender.Server); xmpp.Open(jidSender.User, PASSWORD); xmpp.OnLogin += delegate(object o) { xmpp.Send(new Message(new Jid(JID_RECEIVER), MessageType.chat, "Hello, how are you?")); }; Console.WriteLine("Wait until you get the message and press a key to continue"); Console.ReadLine(); xmpp.Close(); }
/// <summary> /// Attempt to send out the results via XMPP. /// </summary> /// <param name="result"></param> public void Run(IIntegrationResult result) { this.result = result; try { // Initialise the client and login hasError = false; messagesSent = null; client = new XmppClientConnection(); client.Server = server; client.ConnectServer = connectServer; client.AutoRoster = false; client.Resource = null; client.OnLogin += new ObjectHandler(xmppClient_OnLogin); client.OnError += new ErrorHandler(xmppClient_OnError); client.OnAuthError += new XmppElementHandler(client_OnAuthError); Log.Debug("Connecting to XMPP server: " + server); client.Open(userName, password); // Wait for the messages to be sent bool continueWaiting = true; DateTime startWait = DateTime.Now; while (continueWaiting) { Thread.Sleep(100); if (hasError) { continueWaiting = false; } else if (client.Authenticated) { if (messagesSent.HasValue) { TimeSpan timeWaited = (DateTime.Now - messagesSent.Value); continueWaiting = (timeWaited.TotalSeconds < sendPeriod); } } // Time-out after the specified time if (continueWaiting) { TimeSpan timeWaited = (DateTime.Now - startWait); if (timeWaited.TotalSeconds > timeOutPeriod) { continueWaiting = false; Log.Warning("Time-out period has expired - send was not successful"); } } } // Clean up client.Close(); client = null; } catch (Exception error) { Log.Error(error); result.ExceptionResult = error; result.Status = ThoughtWorks.CruiseControl.Remote.IntegrationStatus.Exception; } }
static void Main(string[] args) { XmppClientConnection xmppCon = new XmppClientConnection(); Console.Title = "Console Client"; // read the jid from the console PrintHelp("Enter you Jid ([email protected]): "); Jid jid = new Jid(Console.ReadLine()); PrintHelp(String.Format("Enter password for '{0}': ", jid.ToString())); xmppCon.Password = Console.ReadLine(); xmppCon.Username = jid.User; xmppCon.Server = jid.Server; xmppCon.AutoAgents = false; xmppCon.AutoPresence = true; xmppCon.AutoRoster = true; xmppCon.AutoResolveConnectServer = true; // Connect to the server now // !!! this is asynchronous !!! try { xmppCon.OnRosterStart += new ObjectHandler(xmppCon_OnRosterStart); xmppCon.OnRosterItem += new XmppClientConnection.RosterHandler(xmppCon_OnRosterItem); xmppCon.OnRosterEnd += new ObjectHandler(xmppCon_OnRosterEnd); xmppCon.OnPresence += new PresenceHandler(xmppCon_OnPresence); xmppCon.OnMessage += new MessageHandler(xmppCon_OnMessage); xmppCon.OnLogin += new ObjectHandler(xmppCon_OnLogin); xmppCon.Open(); } catch (Exception e) { Console.WriteLine(e.Message); } Wait("Login to server, please wait"); PrintCommands(); bool bQuit = false; while (!bQuit) { string command = Console.ReadLine(); string[] commands = command.Split(' '); switch (commands[0].ToLower()) { case "help": PrintCommands(); break; case "quit": bQuit = true; break; case "msg": string msg = command.Substring(command.IndexOf(commands[2])); xmppCon.Send(new Message(new Jid(commands[1]), MessageType.chat, msg)); break; case "status": switch (commands[1]) { case "online": xmppCon.Show = ShowType.NONE; break; case "away": xmppCon.Show = ShowType.away; break; case "xa": xmppCon.Show = ShowType.xa; break; case "chat": xmppCon.Show = ShowType.chat; break; } string status = command.Substring(command.IndexOf(commands[2])); xmppCon.Status = status; xmppCon.SendMyPresence(); break; } } // close connection xmppCon.Close(); }
static void Main(string[] args) { Console.Title = "XMPPduino"; xmppCon = new XmppClientConnection(); System.ComponentModel.IContainer components = new System.ComponentModel.Container(); serialPort = new System.IO.Ports.SerialPort(components); serialPort.PortName = Config.COM_PORT; serialPort.BaudRate = Config.Baud_Rate; xmppCon = new XmppClientConnection(); xmppCon.Username = Config.Username; xmppCon.Password = Config.Password; xmppCon.SocketConnectionType = agsXMPP.net.SocketConnectionType.Direct; xmppCon.ConnectServer = "talk.google.com"; xmppCon.Port = 5222; xmppCon.UseStartTLS = true; xmppCon.AutoResolveConnectServer = false; xmppCon.Show = ShowType.chat; xmppCon.Server = Config.Server; xmppCon.AutoAgents = false; xmppCon.AutoPresence = true; xmppCon.AutoRoster = true; try { xmppCon.OnRosterStart += new ObjectHandler(xmppCon_OnRosterStart); xmppCon.OnRosterItem += new XmppClientConnection.RosterHandler(xmppCon_OnRosterItem); xmppCon.OnRosterEnd += new ObjectHandler(xmppCon_OnRosterEnd); xmppCon.OnPresence += new PresenceHandler(xmppCon_OnPresence); xmppCon.OnMessage += new MessageHandler(xmppCon_OnMessage); xmppCon.OnLogin += new ObjectHandler(xmppCon_OnLogin); xmppCon.Open(); } catch (Exception e) { Console.WriteLine(e.Message); } Wait("Login to server, please wait"); bool bQuit = false; while (!bQuit) { string command = Console.ReadLine(); string[] commands = command.Split(' '); switch (commands[0].ToLower()) { case "quit": bQuit = true; break; case "msg": string msg = command.Substring(command.IndexOf(commands[2])); xmppCon.Send(new Message(new Jid(commands[1]), MessageType.chat, msg)); break; case "status": switch (commands[1]) { case "online": xmppCon.Show = ShowType.NONE; break; case "away": xmppCon.Show = ShowType.away; break; case "xa": xmppCon.Show = ShowType.xa; break; case "chat": xmppCon.Show = ShowType.chat; break; } string status = command.Substring(command.IndexOf(commands[2])); xmppCon.Status = status; xmppCon.SendMyPresence(); break; } } xmppCon.Close(); }