"Real time" communication – client/server

How would you implement an online chat application?
Which technology would you use?

--------

We are building something similar and have the following requirements

  1. People on the web should be able to use it
  2. No download of an application
  3. Broadcasting messages to all user (server to clients)
  4. Everyone should be able to use it
    1. People behind firewalls, proxies, NATs, …
    2. People with 1 of the current browsers
  5. Lightweight solution needed

 

We tested and verified different technology options like:

  • HTML+ Reverse AJAX
  • Silverlight 2: Duplex WCF over HTTP (Long polling HTTP connection under the hood or Comet-style)
  • Silverlight 4: Duplex WCF over TCP (is using net.tcp, socket connection under the hood)
  • Silverlight raw Sockets (maybe even using SocketsLight)
  • Silverlight UDP
  • HTML 5 web sockets

The signs for HTML 5 web sockets are not so good, even though the promise for the socket implementation sounds interesting!
But it seems that HTML 5 is not going to be ready before ~201X, X > 2 and not sure what that X is…
More here
http://blogs.techrepublic.com.com/programming-and-development/?p=718
http://www.webmonkey.com/blog/HTML_5_Won_t_Be_Ready_Until_2022DOT_Yes__2022DOT

 

We finally are using "Silverlight with Duplex WCF over TCP
And falling back to "Silverlight with Duplex WCF over HTTP” when we have a firewall or proxy in the middle that causes connection problems.

The main reason for going in that direction was:

  • Ease of development and productivity in coding with Silverlight and WCF
  • Developing against one API (WCF) and doing an easy fallback behind the scenes (10 lines of code!)
  • Performance is awesome by using TCP (see Tomasz post about that)
  • Testing Silverlight means testing 1 environment against testing different browsers, operating systems, JavaScript versions, OS versions, browser versions,....

 

PS
There is a new HTTP polling duplex mode added in Silverlight 4 RC, called “MultipleMessagesPerPoll”, makes this technology even more interesting

Windows7 - Running applications as Administrator

I have a couple of tools that I want to run as Administrator, otherwise they want show up in VS2010.
I run VS2010 as Administrator, because I use IIS as web server for debugging…

 image
Figure: Check “Run this program as an administrator” to have that tool shown in every application

 

But, when you tick this checkbox your application wont start anymore… Why is that?

Not sure why though…

But autoruns from Sysinternals shows me that the app is running from the following location in the registry
C:\Users\petergfader\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

image

 

Other 32bit applications are running from the registry… and that seems to work
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

 

So… long story short…

Put your 32 bit apps to that registry location
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

Reboot!
Tools are running!

Figure: How many tools do you use?

 

Post your tool in the comments if it is not on Scott’s list or on my list

Latest Posts

Popular Posts