views:

141

answers:

2

Is there any way to do this? I know java applets, flash don't allow this, what about browser plugins? Other ideas?

+3  A: 

Theoretically you could do this in windows by implementing an ActiveX control browser plugin. However, even if you get the user to install it, if the "browser server" is behind a firewall or proxy no client is going to be able to connect to it. And there is the problem of what DNS name do clients use to find the "browser-server?" Most likely (unless machine running the browser is actually an internet host) it won't have a DNS entry. Every machine has an IP address of course, but with DHCP, etc, IP addresses are randomly assigned so there is no way to know ahead of time what a given "browser-server's" IP is going to be.

If you're trying to create something like a multiplayer game or chat application, the better way to go about it is have all the clients connect to a server and that server relays information back and forth between the clients. Then you can implement it in Flash or Javascript/Ajax and no one has to install anything.

eeeeaaii
Not to mention that it would be considered "unsafe" on multiple levels.
GalacticCowboy
+1  A: 

Opera are doing exactly this in their browser: Opera Unite: a Web server on the Web browser.

RichieHindle
That's very interesting! Though I think you still have to use a server as a proxy -- from the documentation:"The URL that your friends can navigate to, to get to your services; as mentioned before, in my case it is http://mymac.chrismills.operaunite.com/). This is in the top-right of the screen"However it looks like this does give you the power to run a service on your computer that someone else can connect to via the proxy. I wonder, do both people have to be using Opera or just the person running the service?
eeeeaaii
It will connect directly when it can, and use a proxy otherwise - from the FAQ: *"A proxy server is used when no direct connection is established"*. They are handling dynamic DNS for you as well, with this *yourname.operaunite.com* address.
RichieHindle