What I need to do is create the server side for a chat application that will run on the iPhone, Android, Blackberry and web browsers.
To do this I am thinking of:
creating an application and hosting
it on Microsoft's Azure cloud
using XMPP as the communication
protocol.
The iPhone app that I am building will then connect to my app on the cloud and they will have very colorful conversations in TCP/IP and XMPP.
Is there a better way to do this?
Do you have any tutorials to help me start?
Not a full answer or a recommendation, but I saw a bit of the Steve Marx's presentation today which covered node.js implementation https://github.com/smarx/smarxchat at http://chat.smarx.com/
Whilst not a finished architecture, it certainly will suggest an alternative possible design!
This is an old question. But if anyone is looking for a more ready solution today, I'd recommend give Azure Communication Services a try. It offers a managed solution for chat, SMS, telephone call, and audio/video call across all platforms.
If you're writing your own xmpp server, you'll need to use a worker roles and open the necessary ports.
If you're looking to implement an existing xmpp server solution, you'll probably be better off using a VM role, building the server image and uploading it.
Related
For the development I'm doing I need real time communication between server and clients.
As far as I understand, the best way is to go WebSocket. That's ok but now I'm looking for a way to implement this kind of communication on Server (hopefully an Azure WCF Web Role, at last an Azure Asp.Net MVC, but I do prefer WCF) and on client (UWP Windows10).
I'm new on this kind of technology so I'm looking for advices in best APIs to use for both server and client, documentation and samples.
Thank you for helping out
-g
Your best friend for this is SignalR:
http://signalr.net/
This is a library that you can basically use from anywhere. It is generally used in ASP.NET projects, but not restricted to it in any form. The following thread provides you with the answer to how you can host signalR on its own:
WCF Service with SignalR
As #Pedro said, SignalR is your friend ..
In this article, you'll find an example for how to use it in Azure platform:
https://azure.microsoft.com/en-us/blog/introduction-to-websockets-on-windows-azure-web-sites/
And for the UWP, we do have support for that, this is the documentation and en example for that:
https://msdn.microsoft.com/en-us/library/windows/apps/mt186447.aspx
UPDATE:
Here's SignalR client sample for .NET, you might need it:
http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-net-client
I'm attempting to build a live support chat application in C# using a WCF microservice and after endless searches I still can't find the answer, hopefully someone here can point me in the right direction.
My problem is that rather than a typical chat room a where users broadcast messages to all connected clients, I need the application to be more like a Live Support app found on websites such as Amazon or eBay.
Ideally multiple customer support agents will have a pre installed WinForms chat application on their machines, when a customer opens a chat window (aspx page) it will connect to a server/service and the server/service will then call all connected customer support agents until one answers. At this point the customer and agent will be connected in a private chat window.
Could somebody please give me some insight or ideas on how to do this?
Thanks,
Owen
You can use ASP.NET SignalR which is a library for ASP.NET developers that makes developing real-time web functionality easy. SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available.
Here you can find more details and many tutorials about SignalR.
The first resoult in google
A WCF-WPF Chat Application
Video tutorial
WCF Chat Application
ASP.NET Chatting using WCF Services and JSon
A simple peer to peer chat application using WCF netPeerTcpBinding
usefull lectures
HTML 5 Web Sockets
Always first ask google, above you have few ready to use projects that you can copy to your solution
EDIT:
Also as tip I can recommend bi-directional message queues at application level, then make index for messages with session and users identifier. Next step would be WCF with pop and push logic based on wait objects. At low cost you will need to lock queue. WCF will do heavy job. Also problems can occure inside app with proxy management and message sending so dedicated proxy for chat would be great and safest idea. And read about Duplex Services that can be usefull here DUPLEX SERVICE
These are my findings, not checked though:
Live Support Chat using SignalR
Parle
A tutorial from ASP.NET team:
Real-time chat with SignalR 2
The first one looks very early development stage, Parle is somewhat more promising.
Anyway, since I continue my research on the topic maybe I'd need to augment my answer. Until then the links could be a good starting point.
I have the following questions:
I am creating a desktop application (Windows), and I wish the same send solitudes and interact with another application running stored in server (Windows Server), I'm programming in C #.
Is there any way? With some protocol or something related? How?
Thanks.
There's a LOT of ways to do it.
In modern way, use Server: ASP.NET WebApi and desktop application: HttpClient. This is called REST and most popular in these days.
In Windows way, use Server: WCF and desktop application: WebService. Not recommended for simple service.
Oldies but goodies way: use Socket programming.
Many folks might recommend to use REST. Try to find tutorials related on C# and Rest. There's hundreds of good articles so cannot pick one of it in this reply.
I want to create an Instant Messaging app for Windows Phone.
I have found some information about Live SDK, but it looks like the messenger api is outdated?
Can anyone help me start? All I want to do at first is embed the IM.
A simple IM app where the user logs in with their Live ID, sees who already has the app (Live Contacts) and an IM-service with a UI like the SMS-service in windows phone.
Can anyone help me get started?
Firstly i hope i got your question right.
I have multiple lookouts for you:
XMPP (Jabber): start from there. It is fairly simple, and there are opensource clients out there where you can dismantle code and learn by understanding what others have done.
Check out the SignalR
ASP.NET SignalR is a new library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications. It's the ability to have your server-side code push content to the connected clients as it happens, in real-time.
You may have heard of WebSockets, a new HTML5 API that enables bi-directional communication between the browser and server. SignalR will use WebSockets under the covers when it's available, and gracefully fallback to other techniques and technologies when it isn't, while your application code stays the same.
SignalR also provides a very simple, high-level API for doing server to client RPC (call JavaScript functions in your clients' browsers from server-side .NET code) in your ASP.NET application, as well as adding useful hooks for connection management, e.g. connect/disconnect events, grouping connections, authorization.
I want to build web based facebook like lightweight chat for my site.
Website build on ASP .net on SQL server 2005.
I am interesetd in XMPP commmunication, but not able to find open source XMPP server with supportedlibrary for C# so that I can create client for my site.
Have checked googling butno luck for C# library; all I could found is plugin and jar.
Is it possible to implement chat logic and XMPP server communication in different language, and accessing thisdata through iframe or by other means on my site.
Thanks,
Hitesh.
http://www.ag-software.de/agsxmpp-sdk/
That library seems to be pretty good.
What you'll want to do is follow jgauffin's suggestion, and use an XMPP library on the backend, and then typically you'd add in a comet server for integration with your web frontend (we've actually done exactly this # Frozen Mountain, using WebSync).
If you're building a smaller site and/or don't need the "realtime" aspect, you could probably get away with polling as well, in which case you'd need to store the results from the XMPP library in your own system, and poll that (since XMPP is strictly event driven).
There are many options to send a message since first human! But how about the intelligence on it, automated collaboration in object level or shared objects among the users etc. I suggest you to take a look for the samples in here and feel the difference.