1) simple - poll the server with ajax
2) using iframes, and server push (really client pull). here you turn
off buffering and keep sending javascript commands and a flush. to keep
from burning up too much memory, you need to close and reopen the request.
3) use a java applet or active/x to hold a connection open and fire an
event.
Like Bruce suggested, your best bet is to use AJAX. You can
periodically send a background web request, without refreshing the
main page, to get data from the server - maybe by calling a web
service or some other page.
This is how GMail and other web-based email clients work, they poll
the server every few seconds to see if new mail is available.