I've been trying to create an Instant Messaging application in my ASP.NET site using C#. I came to know about XMPP which is a protocol used for instant messaging by GChat. I was wondering how to implement it in my ASP.NET application. Any insights provided on this will be very much appreciated.
Thank you.
NLV
The thing about the C# libraries is that most of them are closed-source or licensed. I've found MatriX (used to be agsXMPP) to be the best in terms of what it can do (developer license might be a bit steep though). Jabber.net would probably be a good choice too.
It's not for the faint of heart. Building out a client might be ok but building a component or deploying a server caused me no end of headaches. Understanding how it works first might be the best approach. There is a book called "XMPP: The Definitive Guide" that I found really useful.
Check out this excellent book, should have what you need to implement your IM app
http://www.wrox.com/WileyCDA/WroxTitle/Professional-XMPP-Programming-with-JavaScript-and-jQuery.productCd-0470540710.html
Related
I'm working on project that will work real time: I have to write a video streaming client-server app, this server will to send the AVI/MPEG etc to an web application. I have some questions:
What is the protocol recommend to do this, http? rtp? or other?
In the web application, how do I to show it to user? using an flash player,java applet(I don't ensure if it's possible with it) or HTML5, what is the best way to do this currently?
I hope this is clean for you. Any help is very appreciadted. Thanks in advance. :)
There are several different ways to implement this (some that require programming and others that don't). Which one you choose depends on your requirements.
Red5 is an obvious solution which will allow you to only have to focus on the web side as long as your player of choice is flash.
FlourineFx provides a similar environment for .NET with a little more effort.
I've also done this with IIS and a custom server using HttpListener with much success if you're set on a pure Windows/C# solution. The caveat I'd add here is that it isn't always simple. In an environment with limited throughput, you will have problems since HTTP doesn't have the time corrections that RTP/RTMP/RTSP have but in a decent network it works 3 9's of the time (I've only tested with a single player though).
UPDATE
If you're talking about live streaming with .NET I'd suggest looking into the DirectShow (or related DirectX) API's. There is a wrapper for it for .NET available called DirectShow.NET.
I have a quite advanced application, where I need to add some client/server functionality. Some examples of functionalities is:
Chat
One vs. one fight in a browser game
Draw people on a map
I am creating this application in ASP.NET and AJAX. I do not use Silverlight/Java Applet/Flash or anything else. If possible, I do not want to change this for other reasons.
I thought about creating some kind of game server, and then communicating either web services or TCP protocol: But I have NO idea if this is a good idea. Also, I don't know how to do this.
So my question is:
What's the best way to implement this? And is it even possible? And if it is, could you give a reference or two?
Thanks a lot,
Lars
For doing chat & multiplayer games, the crux of the problem is in getting the server to asynchronously send messages to the client. This can be accomplished by a method called reverse-Ajax (or commet). Here is a simple example for how to do reverse-Ajax with ASP.NET. This is a very involved concept (at least until we can use HTML5 WebSockets) with a lot of thought going into security concerns, et al. I assume that by asking this question you are already quite familiar with Ajax & browser scripting (if not, you have a lot of reading to do).
Tutorial on writing a basic chat server: (in c# no less)
http://www.dreamincode.net/forums/topic/33396-basic-clientserver-chat-application-in-c%23/
Sgive you a good foundation on server development.
Its been a few weeks since I started learning C#, i know my way around visual studio, know things about classes, constructors, objects, played around with WPF and now think its time to learn some networking, say making a simple server/client application.
From what I understand winsockets are outdated and currently it is better to learn WCF ?
Maybe someone know some books, articles or tutorials about WCF for beginners where it would be explained step by stem from the ground up. :) Since all I was able to find were either rather complicated materials assuming that the reader it already a master-programmer or just coded supposed to be used as copy/paste without really explaining what it does.
Thanks! :)
In short, WCF is Microsoft's library of code to simplify the process of inter-machine and inter-process communication. Pre-WCF, there were a number of frameworks you could use. WCF gives them a consistent .net interface to simplify programming.
I recommend "Learning WCF", by Michele Leroux Bustamante. It's as thick as a Bible, but it has accessible material about the different facets of WCF with lots of code samples.
http://msdn.microsoft.com/en-us/netframework/wcf-screencasts.aspx
A very accessable group of tutorials, that cover the basics very well. Great place to start.
I would like to reccomend Pro WCF: Practical Microsoft SOA Implementation
- i've been learning with wcf with it.
I learned what I needed to know from the book Windows Communication Foundation Unleashed by Craig McMurty, Marc Mercuri, Nigel Watling and Matt Winkler. It has good examples that you can use to produce your own web services and such. It requires some knowledge of C#, which you seem to already have.
Go to MSDN my friend,If you have the patience to read the tutorials/articles in MSDN you can learn WCF very well.
Here are some good beginner tutorials from MSDN
http://msdn.microsoft.com/en-us/library/ms735119(VS.90).aspx
Hi I'm a PHP developer and I have some experience with Java. I'm trying to learn C# and my first project would be a program that starts the timer on a PC by clicking a button on another PC in the network. The problem is, I don't know where to start? What do I need to read up on? The OS for both PCs is Windows XP so they're desktop apps. I'd appreciate any help from you C# gurus. I hope my start as a C# programmer would be successful. Thank you!
For the communication channel you should use WCF - here is an article showing how a simple client/server is written.
In terms of a UI for these - you may want to use winforms or WPF. WPF is the future, but winforms are easier to get to grips with. There is a Microsoft website dedicated to both of them.
There are several timer classes in the framework - see this article for comparisons.
If you are using .NET 3+, then WCF is generally the recommended technology. It is basically a merge of .NET remoting, web services, etc. into one library.
Edit: Sorry, my answer was based on Midhat's answer. Oded gave the best guidance since he actually read the question! WCF is only what you would use to communicate from one application to another. In your scenario, you can set up WCF as a TCP/IP server/client.
You need .Net remoting http://www.beansoftware.com/net-tutorials/net-remoting-tutorial.aspx
Currently looking at implementing an ebXML MSH using .NET.
Has anyone done this before, and/or know of any open source .NET examples out there?
Any comments/advice welcome ;-)
My company was going to use the Covast ebXML adapter for BizTalk. Whilst not a 100% .NET based solution it is one of the few Microsoft focused products that deals with ebXML. I think from memory the license was about $3000 AUD.
In the end we decided to go with an Apache Camel ESB that uses Hermes as the ebXML messaging layer.