How to create a chat application in iOS using XMPP without creating my own server. Is there any free server - chat

I want create a chat functionality in my app using XMPP but I don't have any knowledge about how to start this.
And also I don't want host any server is it any free one ?

You have ajabber.me as a sandbox server, I tested for my app and it was working great ! Also you can download Spark Client to have a UI for your chat.
Have a look at the Smack API. I used it for my Java project
First create a connection
AbstractXMPPConnection connection;
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder().setHost("ajabber.me")
.setServiceName("ajabber.me").setSecurityMode(SecurityMode.ifpossible).setPort(5222)
.setDebuggerEnabled(false).build();
connection = new XMPPTCPConnection(config);
connection.connect();
connection.login("java","test");
Then create you can send a message to a user
Chat chat = ChatManager.getInstanceFor(connection).createChat("someone#jabberme");
chat.sendMessage("hello");
It is in Java but you can easily adapt it for your language

Related

Lync Server - I Try Create App Monitoring users change status (offline, busy, active....)

How to create an application? I'm trying connect to Lync Server using UCMA, SDK or how to create signal/Event Where any user change of status then the user (push method) to obtain information about the user and his status
I am a beginner in C# and Lync Server
I'm trying to help this forum Microsoft but there is no answer
Very thenx for all the help, tips sample code :-)
What you want to create is a UCMA application.
Once you have a UCMA application with a application endpoint you want to subscribe to presence changes of the users you wish to monitor.
Microsoft even has a example of doing just that.

Laravel socket chat application

I'm new with web sockets, and i want to create a private chat with laravel between authenticated users and anonyme users , i'm not asking to give me the codes, i want a way to do that , i want to understand how can i do that
I'm thinking to that for a couples days ago, and i fount that i should make this steps :
1- Create chat with socket
2- intergrate it with laravel (1)
3- show connected users ( i don't know id if that i should make that with socket or with laravel framework )
4- fix the chat to make it private ( build some socket or somethink like that)
i want to know how i can do that ?
Thakns
https://packagist.org/search/?q=socket
If I were doing this, I would separate the sockets server and the frontend implementation.
This would allow you to scale both the dispatch and the client services at different rates.
You can use any library of your choosing, usually the best is going to be on the top.
http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket
That explains it a bit more than I am willing to.
basically you will have one instance of laravel that is only responsible for rest/socket communication. It will provide the client(frontend) with the information that it needs.
When a registered user logs in, You simply notify your socket server via rest a user has logged in, In turn your socket server will query the db for all currently logged in users, trigger the event of UserLoggedIn , attaching perhaps an array of logged in users which would then be broadcasted to all of the listening clients.
When a client receives that notification, your js (if necessary) would update the list of available chatters with the one provided by the dispatch.
You will also need to maintain a list of active unregistered user socket connections so that you know who's where and who should get what message.
This is the general idea behind it.

Download entire group chat history from openfire

I am using openfire as chat server and JsJac as client library for chat web application. JsJac working fine with one to one chat and groupchat. I have added monitoring plugin in openfire for message archiving. Now I want functionality of downloading entire group chat history.
Question : Is it possible to download entire group chat using JsJac or there is any other better approach available for that?
Thanks

Storing and retrieving messages in Openfire server according to thread id

We are implementing a chat application using Openfire as server. The clients are various mobile platform and web interface for which we are using xmppframework for iOS Smack for Android and Strophe.js for the web.
Following this http://xmpp.org/extensions/xep-0085.html#bizrules-threads we are sending messages with different thread values to start a new thread. But we noticed that while archiving through the Monitor plugin available for Openfire the details like thread is not stored. In server the auto archive mode is on.
As mentioned here the manual archive is not yet implemented in this plugin http://www.igniterealtime.org/projects/openfire/plugins/monitoring/readme.html
Was anybody successful to store the messages according to thread ids in Openfire and also retrieve that information while showing the chat history on the clients ?

Best way to integrate an XMPP Server into Webapplication

I'm working on a middle size community project, using php and the php framework symfony2 atm.
We are planning to integrate XMPP as a support chat and premium feature for our users. The users will be able to connect via a webclient and also via normal xmpp clients.
So here are my questions:
About the Rosters: I want to have the users from the friends list listed in the users contact list. I know that this can be done with rosters. But how can I implement this on a simple and stable way? Is there a good Server implementation that can get the users roster out of a sql database like pgsql?
What happens on the client when the roster datas are beeing changed while the user is logged in on the xmpp server?
Can I group the users that are listed in the roster of a user?
Which XMPP server project would you recommend for that kind of project?
Thanks for your help in advance!
most existing XMPP servers support all popular DBRMs. So this should be no problem.
probably nothing when you make the changes directly do the database. So have to find a server where you can initiate a roster push to all connected clients. See also the XMPP RFCs for roster updates.
yes, roster groups are a core feature of XMPP.
You can find a list of XMPP servers here: http://xmpp.org/xmpp-software/servers/ You have to check which servers support pgsql and allow you to update the roster and initiate the roster pushes to connected resources.