What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and
when the update takes place I want to 'notify' my web clients so that they
can display new information. This must be a push rather than a pull, so I
don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles 26 1150
You will need to have some form of constant connection between your client
and the web server, typcially an issue in a stateless environment like the
web. You could probably think about using an applet or activex control
connected to a socket server, let the socket server monitor the DB and when
the DB update occurs it can tell its connected clients via your applet that
the update has occured.
--
Regards
John Timney
Microsoft MVP
"Charles Law" <bl***@nowhere.com> wrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
On Tue, 2 May 2006 12:43:48 +0100, "Charles Law" <bl***@nowhere.com>
wrote: What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Web applications are connectionless. There cannot be a push because
the Web server has no way to push something to a specific client.
What you're asking for would probably be best accomplished using
XMLHTTP. It would be easy enough to return a Boolean indicating
whether or not data have changed. When they have, you could also use
the same method to update only that portion of the page that has
changed.
Jim Cheshire
Blog: http://blogs.msdn.com/jamesche
Charles,
You was a while on the moon. http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Hi Cor
Thanks for the link. I noticed this when I Googled, but at first-glance it
looked like a third-party tool, and I was looking for a built-in way. Now I
look at it again, it might be just what I am looking for.
Charles
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl... Charles,
You was a while on the moon.
http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Hi John
Thanks for the reply. I shall look into this further.
How do the control and socket server test for new data internally? Is it a
poll, or is it more like the way a comm device works?
Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message
news:uW**************@TK2MSFTNGP05.phx.gbl... You will need to have some form of constant connection between your client and the web server, typcially an issue in a stateless environment like the web. You could probably think about using an applet or activex control connected to a socket server, let the socket server monitor the DB and when the DB update occurs it can tell its connected clients via your applet that the update has occured.
-- Regards
John Timney Microsoft MVP
"Charles Law" <bl***@nowhere.com> wrote in message news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
note: an atlas solution would be a client polling solution. if you don't
want polling, then as noted above you need to use a java applet or active/x
control to open a socket to you server. you will need to write a new network
service on your server to maintain the connection to the client as asp.net
can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl... Charles,
You was a while on the moon.
http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Um, yeah.
Ever hear of Remoting.
It's exactly what he wants.
Check out the Remoting samples, like the chat server/client.
Remoting can update a client when events occur on the server.
And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config entries.
bruce barker (sqlwork.com) wrote: note: an atlas solution would be a client polling solution. if you don't want polling, then as noted above you need to use a java applet or active/x control to open a socket to you server. you will need to write a new network service on your server to maintain the connection to the client as asp.net can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,
You was a while on the moon.
http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
but then you aren't talking about the web client anymore but rather a server
side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com... Um, yeah.
Ever hear of Remoting.
It's exactly what he wants.
Check out the Remoting samples, like the chat server/client.
Remoting can update a client when events occur on the server.
And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for something Remoting can do in a few lines of code and some .config entries. bruce barker (sqlwork.com) wrote: note: an atlas solution would be a client polling solution. if you don't want polling, then as noted above you need to use a java applet or
active/x control to open a socket to you server. you will need to write a new
network service on your server to maintain the connection to the client as
asp.net can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,
You was a while on the moon.
http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so
thatthey can display new information. This must be a push rather than a
pull,so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
yes, its usually via some form of poll
--
Regards
John Timney
Microsoft MVP
"Charles Law" <bl***@nowhere.com> wrote in message
news:eu**************@TK2MSFTNGP04.phx.gbl... Hi John
Thanks for the reply. I shall look into this further.
How do the control and socket server test for new data internally? Is it a poll, or is it more like the way a comm device works?
Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message news:uW**************@TK2MSFTNGP05.phx.gbl... You will need to have some form of constant connection between your client and the web server, typcially an issue in a stateless environment like the web. You could probably think about using an applet or activex control connected to a socket server, let the socket server monitor the DB and when the DB update occurs it can tell its connected clients via your applet that the update has occured.
-- Regards
John Timney Microsoft MVP
"Charles Law" <bl***@nowhere.com> wrote in message news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Essentially the client has a server "built-into" it. So the server can
message back to it.
You can also remote methods, so that a server can raise an event on the
client that runs a method.
Example, send an alert that a stock market price has changed. The
server raises the remoted event, and the client responds with a change
in the UI.
THis can all be done in 1.1
For 2.0 you can look into what was Indigo, it is now the WCF (Windows
Communication Framework).
There are also some more "webby" type methods, but they seem to require
that the user have IIS running on their workstation.
For myself, I prefer a remoted c# client rather than AJAX, ATLAS or WCF,
or the traditional java applet or application using RMI
It's simple, has a clean implementation, can run using http or tcp.
Charles Law wrote: Hi John
Thanks for the reply. I shall look into this further.
How do the control and socket server test for new data internally? Is it a poll, or is it more like the way a comm device works?
Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message news:uW**************@TK2MSFTNGP05.phx.gbl...
You will need to have some form of constant connection between your client and the web server, typcially an issue in a stateless environment like the web. You could probably think about using an applet or activex control connected to a socket server, let the socket server monitor the DB and when the DB update occurs it can tell its connected clients via your applet that the update has occured.
-- Regards
John Timney Microsoft MVP
"Charles Law" <bl***@nowhere.com> wrote in message news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Hi Gerry
Thanks, and to all others in this thread. I should say that I use the "web
client" terminology as a phrase of my own invention, and not in any specific
sense of a Web Client. I might have misused the phrase.
I am not meaning to be prescriptive in any way. The aim is to have multiple
client machines able to present information from a central (probably SQL
Server) database, on an intranet (primarily), but generically internet.
I am happy to consider all options, without prejudice. If it is not possible
to construct a push model, I need to adopt something that has a comparable
performance as this is a highly time-sensitive project.
Charles
"gerry" <ge**@nospam.nospam> wrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl... but then you aren't talking about the web client anymore but rather a server side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message news:44**********@texeme.com... Um, yeah.
Ever hear of Remoting.
It's exactly what he wants.
Check out the Remoting samples, like the chat server/client.
Remoting can update a client when events occur on the server.
And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for something Remoting can do in a few lines of code and some .config entries. bruce barker (sqlwork.com) wrote: > note: an atlas solution would be a client polling solution. if you > don't > want polling, then as noted above you need to use a java applet or active/x > control to open a socket to you server. you will need to write a new network > service on your server to maintain the connection to the client as asp.net > can not be used for this. one of the open IM server packages would do. > > > -- bruce (sqlwork.com) > > > "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message > news:eC**************@TK2MSFTNGP03.phx.gbl... > >>Charles, >> >>You was a while on the moon. >> >>http://atlas.asp.net/Default.aspx?tabid=47 >> >>You should even have seen it from that place. >> >>Cor >> >> >>"Charles Law" <bl***@nowhere.com> schreef in bericht >>news:eb**************@TK2MSFTNGP04.phx.gbl... >> >>>What I mean is, I want my web client to be updated in real-time. >>> >>>The scenario is that I have a database that is updated asynchronously, >>>and when the update takes place I want to 'notify' my web clients so that >>>they can display new information. This must be a push rather than a pull, >>>so I don't want to use a timer on the client. >>> >>>Is there a way to do this? >>> >>>TIA >>> >>>Charles >>> >>> >> >> > >
Hi John You can also remote methods, so that a server can raise an event on the client that runs a method.
Example, send an alert that a stock market price has changed. The server raises the remoted event, and the client responds with a change in the UI.
That's it. That's precisely it. An example of exactly what I need to
achieve. Can you point me to any examples (ideally), or appropriate keywords
that would yield good hits.
Cheers
Charles
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**************@texeme.com... Essentially the client has a server "built-into" it. So the server can message back to it.
You can also remote methods, so that a server can raise an event on the client that runs a method.
Example, send an alert that a stock market price has changed. The server raises the remoted event, and the client responds with a change in the UI.
THis can all be done in 1.1
For 2.0 you can look into what was Indigo, it is now the WCF (Windows Communication Framework).
There are also some more "webby" type methods, but they seem to require that the user have IIS running on their workstation.
For myself, I prefer a remoted c# client rather than AJAX, ATLAS or WCF, or the traditional java applet or application using RMI
It's simple, has a clean implementation, can run using http or tcp. Charles Law wrote: Hi John
Thanks for the reply. I shall look into this further.
How do the control and socket server test for new data internally? Is it a poll, or is it more like the way a comm device works?
Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message news:uW**************@TK2MSFTNGP05.phx.gbl...
You will need to have some form of constant connection between your client and the web server, typcially an issue in a stateless environment like the web. You could probably think about using an applet or activex control connected to a socket server, let the socket server monitor the DB and when the DB update occurs it can tell its connected clients via your applet that the update has occured.
-- Regards
John Timney Microsoft MVP
"Charles Law" <bl***@nowhere.com> wrote in message news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Since this is not a web app then use remoting..
"Charles Law" <bl***@nowhere.com> wrote in message
news:e$**************@TK2MSFTNGP04.phx.gbl... Hi Gerry
Thanks, and to all others in this thread. I should say that I use the "web client" terminology as a phrase of my own invention, and not in any specific sense of a Web Client. I might have misused the phrase.
I am not meaning to be prescriptive in any way. The aim is to have multiple client machines able to present information from a central (probably SQL Server) database, on an intranet (primarily), but generically internet.
I am happy to consider all options, without prejudice. If it is not possible to construct a push model, I need to adopt something that has a comparable performance as this is a highly time-sensitive project.
Charles
"gerry" <ge**@nospam.nospam> wrote in message news:%2****************@TK2MSFTNGP02.phx.gbl... but then you aren't talking about the web client anymore but rather a server side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message news:44**********@texeme.com... Um, yeah.
Ever hear of Remoting.
It's exactly what he wants.
Check out the Remoting samples, like the chat server/client.
Remoting can update a client when events occur on the server.
And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for something Remoting can do in a few lines of code and some .config entries. bruce barker (sqlwork.com) wrote: > note: an atlas solution would be a client polling solution. if you > don't > want polling, then as noted above you need to use a java applet or
active/x > control to open a socket to you server. you will need to write a new network > service on your server to maintain the connection to the client as asp.net > can not be used for this. one of the open IM server packages would do. > > > -- bruce (sqlwork.com) > > > "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message > news:eC**************@TK2MSFTNGP03.phx.gbl... > >>Charles, >> >>You was a while on the moon. >> >>http://atlas.asp.net/Default.aspx?tabid=47 >> >>You should even have seen it from that place. >> >>Cor >> >> >>"Charles Law" <bl***@nowhere.com> schreef in bericht >>news:eb**************@TK2MSFTNGP04.phx.gbl... >> >>>What I mean is, I want my web client to be updated in real-time. >>> >>>The scenario is that I have a database that is updated >>>asynchronously, >>>and when the update takes place I want to 'notify' my web clients so that >>>they can display new information. This must be a push rather than a pull, >>>so I don't want to use a timer on the client. >>> >>>Is there a way to do this? >>> >>>TIA >>> >>>Charles >>> >>> >> >> > >
When I said "all options", I should have added that it will nevertheless be
through a browser. Does that exclude remoting, or can I still use that
technique?
Charles
"MSDN" <sq**********@hotmail.com> wrote in message
news:eP**************@TK2MSFTNGP03.phx.gbl... Since this is not a web app then use remoting..
"Charles Law" <bl***@nowhere.com> wrote in message news:e$**************@TK2MSFTNGP04.phx.gbl... Hi Gerry
Thanks, and to all others in this thread. I should say that I use the "web client" terminology as a phrase of my own invention, and not in any specific sense of a Web Client. I might have misused the phrase.
I am not meaning to be prescriptive in any way. The aim is to have multiple client machines able to present information from a central (probably SQL Server) database, on an intranet (primarily), but generically internet.
I am happy to consider all options, without prejudice. If it is not possible to construct a push model, I need to adopt something that has a comparable performance as this is a highly time-sensitive project.
Charles
"gerry" <ge**@nospam.nospam> wrote in message news:%2****************@TK2MSFTNGP02.phx.gbl... but then you aren't talking about the web client anymore but rather a server side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message news:44**********@texeme.com...
Um, yeah.
Ever hear of Remoting.
It's exactly what he wants.
Check out the Remoting samples, like the chat server/client.
Remoting can update a client when events occur on the server.
And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for something Remoting can do in a few lines of code and some .config entries. bruce barker (sqlwork.com) wrote: > note: an atlas solution would be a client polling solution. if you > don't > want polling, then as noted above you need to use a java applet or active/x > control to open a socket to you server. you will need to write a new network > service on your server to maintain the connection to the client as asp.net > can not be used for this. one of the open IM server packages would > do. > > > -- bruce (sqlwork.com) > > > "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message > news:eC**************@TK2MSFTNGP03.phx.gbl... > >>Charles, >> >>You was a while on the moon. >> >>http://atlas.asp.net/Default.aspx?tabid=47 >> >>You should even have seen it from that place. >> >>Cor >> >> >>"Charles Law" <bl***@nowhere.com> schreef in bericht >>news:eb**************@TK2MSFTNGP04.phx.gbl... >> >>>What I mean is, I want my web client to be updated in real-time. >>> >>>The scenario is that I have a database that is updated >>>asynchronously, >>>and when the update takes place I want to 'notify' my web clients so that >>>they can display new information. This must be a push rather than a pull, >>>so I don't want to use a timer on the client. >>> >>>Is there a way to do this? >>> >>>TIA >>> >>>Charles >>> >>> >> >> > >
Hi John
I have looked for the framework sample, but have not found it yet. I have
found various other remoting samples, but the clients all seem to be Windows
Forms applications, whereas I need the client to be a browser; IE, for
example. Am I missing something?
Charles
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com... Um, yeah.
Ever hear of Remoting.
It's exactly what he wants.
Check out the Remoting samples, like the chat server/client.
Remoting can update a client when events occur on the server.
And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for something Remoting can do in a few lines of code and some .config entries. bruce barker (sqlwork.com) wrote: note: an atlas solution would be a client polling solution. if you don't want polling, then as noted above you need to use a java applet or active/x control to open a socket to you server. you will need to write a new network service on your server to maintain the connection to the client as asp.net can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,
You was a while on the moon.
http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
remoting will not work from the browser unless possibly all of your clients
have the .net framework installed and your page is actually a winform
control - even then you'd have to experiment to see if it would actually
work.
"Charles Law" <bl***@nowhere.com> wrote in message
news:e9**************@TK2MSFTNGP04.phx.gbl... When I said "all options", I should have added that it will nevertheless
be through a browser. Does that exclude remoting, or can I still use that technique?
Charles
"MSDN" <sq**********@hotmail.com> wrote in message news:eP**************@TK2MSFTNGP03.phx.gbl... Since this is not a web app then use remoting..
"Charles Law" <bl***@nowhere.com> wrote in message news:e$**************@TK2MSFTNGP04.phx.gbl... Hi Gerry
Thanks, and to all others in this thread. I should say that I use the "web client" terminology as a phrase of my own invention, and not in
any specific sense of a Web Client. I might have misused the phrase.
I am not meaning to be prescriptive in any way. The aim is to have multiple client machines able to present information from a central (probably SQL Server) database, on an intranet (primarily), but generically internet.
I am happy to consider all options, without prejudice. If it is not possible to construct a push model, I need to adopt something that has
a comparable performance as this is a highly time-sensitive project.
Charles
"gerry" <ge**@nospam.nospam> wrote in message news:%2****************@TK2MSFTNGP02.phx.gbl... but then you aren't talking about the web client anymore but rather a server side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message news:44**********@texeme.com... > > Um, yeah. > > Ever hear of Remoting. > > It's exactly what he wants. > > Check out the Remoting samples, like the chat server/client. > > Remoting can update a client when events occur on the server. > > And it can all be done in .NET 1.1 > > > There's ajax and atlas, but they require a lot of infrastructure for > something Remoting can do in a few lines of code and some .config > entries. > > > > bruce barker (sqlwork.com) wrote: > > note: an atlas solution would be a client polling solution. if you > > don't > > want polling, then as noted above you need to use a java applet or active/x > > control to open a socket to you server. you will need to write a
new network > > service on your server to maintain the connection to the client as asp.net > > can not be used for this. one of the open IM server packages would > > do. > > > > > > -- bruce (sqlwork.com) > > > > > > "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message > > news:eC**************@TK2MSFTNGP03.phx.gbl... > > > >>Charles, > >> > >>You was a while on the moon. > >> > >>http://atlas.asp.net/Default.aspx?tabid=47 > >> > >>You should even have seen it from that place. > >> > >>Cor > >> > >> > >>"Charles Law" <bl***@nowhere.com> schreef in bericht > >>news:eb**************@TK2MSFTNGP04.phx.gbl... > >> > >>>What I mean is, I want my web client to be updated in real-time. > >>> > >>>The scenario is that I have a database that is updated > >>>asynchronously, > >>>and when the update takes place I want to 'notify' my web clients
so that > >>>they can display new information. This must be a push rather than
a pull, > >>>so I don't want to use a timer on the client. > >>> > >>>Is there a way to do this? > >>> > >>>TIA > >>> > >>>Charles > >>> > >>> > >> > >> > > > >
Within a browser, ATLAS polling would seem to be his best bet. A JAVA
applet using RMI or just an open socket could respond slightly
faster... but probably only worth it if there are already JAVA
applications on the site. If not, keeping everything in a single
programming language is probably worth the slight inefficiency of using
ATLAS polling.
Charles,
In general, the "remoting" idea John mentioned is a bad idea with web
applications. You never want a web-page to open a listening socket;
that creates all sorts of security holes, and will likely be denied by
many many firewalls and security settings, anyway. You're guaranteeing
yourself a ton of complaints and headaches.
You cannot achieve "realtime" in a real web application, the web just
wasn't designed for "push" content.
AT BEST, you can fake it with frameworks like Atlas that will check for
updates periodically.
Plus, you're not thinking about scale. Push content simply doesn't
scale well. If you want to automatically push content to connected
users, you need to maintain a list of who's connected and who's not. If
you use listening sockets (John's "remoting" idea), you need to
maintain IP addresses for each of those clients on your server. What if
one of them closes the program? Yeah, TCP timeout, slowdowns, then you
have to remove the IP address, but what if it's just a short-term
network outage? Your client won't like being disconnected, and how do
you know whether or not to try to connect again? If you're going to do
push content, you have to maintain permanent TCP connections to your
client, but that will bog down your server after only a few hundred
connections, so you'll have to look into server farming, and that
involves making sure each server in the farm gets updated...
It gets more and more complex the more you think about the architecture
of the system, and I haven't even addressed security. Add that to the
mix, and you're looking at Excedrin Headache number 127.0.0.1 (it just
keeps looping back at ya!).
My suggestion: either forget about doing actual push content, or fake
it with Atlas.
>I am not meaning to be prescriptive in any way. The aim is to have multiple client machines able to present information from a central (probably SQL Server) database, on an intranet (primarily), but generically internet.
Hmm, I missed that post. Ok, if this isn't really a web application,
but a rich-client/server application (preferrably written in
Windows.Forms), then you're in luck, and you can forget what I just
wrote.
SQL Server 2005 has a new feature called Query Notification; the server
will notify the client when the results of a query have changed. You
can use this for your "realtime update" requirement. I don't know a
whole lot about it, but I believe you still have to maintain a
dedicated connection from the client to the server. However, if you're
not doing a web application odds are you're not going to be as worried
about scale as I was in my previous post.
The link below will help, or you can google for SQL Server 2005 "Query
Notification". http://msdn.microsoft.com/library/de...tification.asp
Hi Randolpho
Thanks for the observations. I take your points entirely. I found a link to http://www.pushlets.com/, which has potential for my application, so I might
try this out, but otherwise I can see that perhaps ATLAS will be a
reasonable way to go.
Cheers
Charles
"Randolpho" <ra*******@gmail.com> wrote in message
news:11**********************@g10g2000cwb.googlegr oups.com... Charles,
In general, the "remoting" idea John mentioned is a bad idea with web applications. You never want a web-page to open a listening socket; that creates all sorts of security holes, and will likely be denied by many many firewalls and security settings, anyway. You're guaranteeing yourself a ton of complaints and headaches.
You cannot achieve "realtime" in a real web application, the web just wasn't designed for "push" content. AT BEST, you can fake it with frameworks like Atlas that will check for updates periodically.
Plus, you're not thinking about scale. Push content simply doesn't scale well. If you want to automatically push content to connected users, you need to maintain a list of who's connected and who's not. If you use listening sockets (John's "remoting" idea), you need to maintain IP addresses for each of those clients on your server. What if one of them closes the program? Yeah, TCP timeout, slowdowns, then you have to remove the IP address, but what if it's just a short-term network outage? Your client won't like being disconnected, and how do you know whether or not to try to connect again? If you're going to do push content, you have to maintain permanent TCP connections to your client, but that will bog down your server after only a few hundred connections, so you'll have to look into server farming, and that involves making sure each server in the farm gets updated...
It gets more and more complex the more you think about the architecture of the system, and I haven't even addressed security. Add that to the mix, and you're looking at Excedrin Headache number 127.0.0.1 (it just keeps looping back at ya!).
My suggestion: either forget about doing actual push content, or fake it with Atlas.
I might have mis-informed you with this statement. The intention is to have
a dedicated machine where the database will live and that will host the web
pages. Users will normally connect/load a page - using a standard browser -
over an intranet, but it also needs to be possible to reach the server over
the internet.
Charles
"Randolpho" <ra*******@gmail.com> wrote in message
news:11**********************@j33g2000cwa.googlegr oups.com... I am not meaning to be prescriptive in any way. The aim is to have multiple client machines able to present information from a central (probably SQL Server) database, on an intranet (primarily), but generically internet.
Hmm, I missed that post. Ok, if this isn't really a web application, but a rich-client/server application (preferrably written in Windows.Forms), then you're in luck, and you can forget what I just wrote.
SQL Server 2005 has a new feature called Query Notification; the server will notify the client when the results of a query have changed. You can use this for your "realtime update" requirement. I don't know a whole lot about it, but I believe you still have to maintain a dedicated connection from the client to the server. However, if you're not doing a web application odds are you're not going to be as worried about scale as I was in my previous post.
The link below will help, or you can google for SQL Server 2005 "Query Notification".
http://msdn.microsoft.com/library/de...tification.asp
While I have done the socket approach many times I do happen to agree with
much of what Randolpho says here. What I suggested is a workable solution
for Push, but you will have to consider many other factors to get it to work
well. Polling from a web client is probably an all round better solution if
you are deploying to the internet, or via an extranet to an open public
presence - in fact from any web app its a better solution.
Regards
John Timney
Microsoft MVP
"Randolpho" <ra*******@gmail.com> wrote in message
news:11**********************@g10g2000cwb.googlegr oups.com... Charles,
In general, the "remoting" idea John mentioned is a bad idea with web applications. You never want a web-page to open a listening socket; that creates all sorts of security holes, and will likely be denied by many many firewalls and security settings, anyway. You're guaranteeing yourself a ton of complaints and headaches.
You cannot achieve "realtime" in a real web application, the web just wasn't designed for "push" content. AT BEST, you can fake it with frameworks like Atlas that will check for updates periodically.
Plus, you're not thinking about scale. Push content simply doesn't scale well. If you want to automatically push content to connected users, you need to maintain a list of who's connected and who's not. If you use listening sockets (John's "remoting" idea), you need to maintain IP addresses for each of those clients on your server. What if one of them closes the program? Yeah, TCP timeout, slowdowns, then you have to remove the IP address, but what if it's just a short-term network outage? Your client won't like being disconnected, and how do you know whether or not to try to connect again? If you're going to do push content, you have to maintain permanent TCP connections to your client, but that will bog down your server after only a few hundred connections, so you'll have to look into server farming, and that involves making sure each server in the farm gets updated...
It gets more and more complex the more you think about the architecture of the system, and I haven't even addressed security. Add that to the mix, and you're looking at Excedrin Headache number 127.0.0.1 (it just keeps looping back at ya!).
My suggestion: either forget about doing actual push content, or fake it with Atlas.
I'd recommend AJAX, combined with a Flash applet on the client
have the flash applet connect to your server and listen for messages.
when server tells flash to update something, flash tells XMLHTTP (AJAX)
to go get it
Charles,
In fact I have the idea that this old piece of JavaScript is in Atlas as
well.
Dim scriptString As String = "<script language=JavaScript>" & _
"setclock(); function setclock(){document.images.Image1.src = " & _
"'http://localhost/WebClock/WebForm2.aspx';setTimeout('setclock()',1000)}</script>"
Page.RegisterStartupScript("setclock", scriptString)
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:um**************@TK2MSFTNGP03.phx.gbl... Hi Cor
Thanks for the link. I noticed this when I Googled, but at first-glance it looked like a third-party tool, and I was looking for a built-in way. Now I look at it again, it might be just what I am looking for.
Charles
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message news:eC**************@TK2MSFTNGP03.phx.gbl... Charles,
You was a while on the moon.
http://atlas.asp.net/Default.aspx?tabid=47
You should even have seen it from that place.
Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
Thanks Neil. I shall look at this too.
Charles
<ne**********@gmail.com> wrote in message
news:11**********************@j73g2000cwa.googlegr oups.com... I'd recommend AJAX, combined with a Flash applet on the client
have the flash applet connect to your server and listen for messages.
when server tells flash to update something, flash tells XMLHTTP (AJAX) to go get it
you send out an email, with a link back, when an update occurs ....
"Charles Law" <bl***@nowhere.com> wrote in message news:eb**************@TK2MSFTNGP04.phx.gbl... What I mean is, I want my web client to be updated in real-time.
The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the client.
Is there a way to do this?
TIA
Charles
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: GG |
last post by:
Hi all,
Here's an idea for a framework I thought about because I can make use
of it in my project. Maybe such a thing exists,
if so, I'd like pointers; if not, I'll start working on it myself.
...
|
by: o'seally |
last post by:
solaris/linux admins/rookie_developers that battle with this error are
probably all frustrated when it happens. i bet you're also somehow
frustrated by this seemingly unsolvable error :-) ...take...
|
by: Lowell Kirsh |
last post by:
I want to create a class called DefaultAttr which returns a default
value for all attributes which haven't been given values yet. It will
work like this:
>> x = DefaultAttr(99)
>> print x.foo...
|
by: Matt |
last post by:
Does the language have header files containing definitions of numbers
such as pi and e?
I believe some implementations used to have those, but I can't find them
in Stroustrup.
Thanks.
|
by: David T. Ashley |
last post by:
I'm writing code which will compile on multiple Windows and multiple *nix
platforms. Some will have 64-bit integers, I believe.
What is my best option to define platform-independent types such...
|
by: dolphin |
last post by:
Is it a good thing that program mix C and C++?
|
by: Tony Lance |
last post by:
Big Bertha Thing burster
Cosmic Ray Series
Possible Real World System Constructs
http://web.onetel.com/~tonylance/gammaray.html
16K Web Page
Astrophysics net ring access site
Newsgroup Reviews...
|
by: Tony Lance |
last post by:
Big Bertha Thing Battle
Cosmic Ray Series
Possible Real World System Constructs
http://web.onetel.com/~tonylance/battle.html
Access page to 600K ZIP file
Astrophysics net ring access site...
|
by: Tony Lance |
last post by:
Big Bertha Thing progress
Cosmic Ray Series
Possible Real World System Constructs
http://web.onetel.com/~tonylance/progress.html
Access page to 6K Web page
Astrophysics net ring access site...
|
by: Tony Lance |
last post by:
Big Bertha Thing invite
Cosmic Ray Series
Possible Real World System Constructs
http://web.onetel.com/~tonylance/invite.html
Access page to 55K Zip File
Astrophysics net ring access site...
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
| |