Real Time : Websockets vs Comet [closed] - javascript

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
i have a few questions about real time applications.
Comet vs Websockets, what is better? For example checking the online users, chat etc.
How does running any of these processes (comet server, websockets) affect normal server functions performance (Page load, php, operating with databases)?
How can i actually install websockets / comet to my hosted server and not just having it on localhost.
Im sorry if some of these questions are stupid, but im quite new to this, so i have to start somewhere :)

Once again, this is a question that is only answered by "it depends on what you're doing". Also, a simple SO and/or Google search will give you several results that I suggest you should read for a better in-depth view.
Both techniques will deliver data "real time", and both can be used to check online users, check etc. Also, Comet is an umbrella term and there are many "Comet Servers" that use WebSockets as the transport mechanism when possible. Comet servers don't just use AJAX, XHR Long-Polling, Forever-Frame etc. They now use WebSockets and fallback to other transport mechanisms where required.
Depending on what kind of back-end technique you're using, ASP.NET SignalR is pretty awesome too.

Related

Developing a real time collaborative drawing system [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am interested in making a realtime collaborative drawing system similar to http://flockdraw.com/ . However I would like to only use open source tools (flockdraw uses flash and also limits the number of users) and also I will host it myself.
I have been considering writing the whole thing in Java. However I realize I am not up to date with recent advances in programming languages/libraries. What would be a good programming language/library combination to do this task?
Update. This question/answer looks very relevant.
See:
Realtime HTML5 Canvas Drawing with WebSockets, Node.JS & Socket.io - all open source
draw similar technologies to the above
node.js drawing game tutorial
The basic principles for this is generally pretty easy. Just communicate the shape that has been drawn to the other users - as you suggest. With that in mind there are a number of open source realtime web technologies that you could use.
I've seen apps like that using HTML5.
Take a look at this app. I think it can help you get started.
This kind of apps usually take advantage of HTML5 Canvas and probably HTML5 WebSockets. There are lots of libraries and tutorials out there.

Which free server with node.js and socket.io? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've just finished a little application using node.js and socket.io. I would like to put it on the Web and I don't know which server to take. I am searching for a free one. I've already found appfog, nodester and pusher but I do not know if we can use them with socket.io and the use seems complicated.
If you know a simple or well-documented one it would be cool.
If you are new to Amazon Web services, you can get a micro.t1 ECS instance free for a year.
More details here. I am hosting a node.js/socket.io app on one myself currently atop Ubuntu.
You're going to need a host that either gives you system-level access to build/deploy software, or you'll need a host that provides a compatible environment for you.
I personally have used Slicehost for years, but am switching to Linode soon. I prefer having complete control over my installations.
You could look at running an EC2 instance from Amazon, http://aws.amazon.com/ec2/. Lots of instance sizes to pick from, tons of pre-configured AMI's to pick from. Or just pick a basic one and setup whatever server you need.
Some other solutions are like Heroku and nodester. Socket.io works fine with all of these.
In general, you pay less for servers you configure yourself and you have more flexibility with what you can do. If you're less interested in that, then spend more money and try finding someone else's platform that does what you need.
You could try signing up for a Windows azure account.
They have nodejs support and you get up to 10 free websites (limited in some way by resources)
This should sort you out till you are ready to pay (hopefully when you have more traffic).

Can you help me with framework choice? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm thinking about developing an app which will make a strong use of geolocation (mongodb will be my choice), and strong upload of photos (and viewing too).
I was just wondering if you could help me with framework election. I've been using node.js for months and I'm very comfortable with it, but because of its one-process nature, will it be bad for locking when uploading big photos?
The other solution I'm working on is rails.
Which one will you choose? Any other ?
Thanks
With Streaming you can support more then one client during a upload, since the upload will be broken into different parts. I sure expressjs has some good streaming examples.
... but because of its one-process nature, will it be bad for locking when uploading big photos?
Take a look at the cluster module, this should help with leveraging more cores. In fact one of the node.js clients on the front page are these guys: Transloadit who focus on handling images.
I'm thinking about developing an app which will make a strong use of geolocation (mongodb will be my choice)...
I've done a lot of work with MongoDB and I recommend reading up on the limitations of MongoDB's geo-location tools. The product does provide some functionality, but it does not match the features of Postgres. You will want to ensure that MongoDB covers all of the features you require before beginning.

what technologies to use for Collaborative Web App Networking [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm wanting to create a web app where people can collaborate with a specified image.
For example, if you take a look at this basketball app
https://market.android.com/details?id=com.canica.apps.basket&hl=en
I'm envisioning something similar where people can log in, draw plays etc,
I want updates to happen in real time, so that other people logged in as a team see what others are 'drawing'.
I was thinking of extending a html canvas drawing app and adding network communication, but I'm not sure where to start looking.
My question is - What technologies should I be looking at for pushing the data out to the users?
Does anyone have suggestions?
You've almost answered your own question, especially with your use of HTML5 and JavaScript tag.
You should take a look at WebSockets (what, what and why).
WebSockets allow for bi-directional communication between any client and server. Originally only available in web browsers via JavaScript but there are now a number of WebSocket client libraries available which mean that whilst you can develop with browsers in mind there's no reason why you client can't be any device.
A quick search came up with this example. There is also this iPad/iPhone application.
There also appears to be a video tutorial that uses node.js and socket.io here:
http://wesbos.com/html5-canvas-websockets-nodejs/
If you don't want to worry about installing and maintaining your own realtime infrastructure that also deals with fallback techniques for older web browsers then you might consider using a hosted realtime web service.
XMPP might be something to look into. A great book about interacting with XMPP servers from the browser is Professional XMPP Programming With JavaScript and jQuery.
It's a pretty soft introduction and I think there might even be a chapter in there that covers implementing something similar.

What techniques are available to do P2P in the browser? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What options does a web developer currently have for implementing client-side peer-to-peer systems in the web browser? Some hypothetical examples might be a file-sharing service that bypasses the web-server after clients find eachother, or a chat service.
What I know about:
the site chatroulette uses
some flash technology as discussed
here.
And I am also aware of Opera
Unity which extends the browser
model to encompass both a client and
a server, as well as this firefox plugin which works similarly
I also just came across this blog
post related to the Joose js
framework, but am not yet sure if it
is relevant here.
Support for this kind of thing seems like it might or might not be supported by websockets in HTML5 and has been discussed here and here and here.
I recommend you to take a look at RTMFP protocol in Adobe Flash Player - it seems you can build something close to what you're asking with it.
I was looking for the same thing, this library looks apealing:
rtmfp-api/

Categories