AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 141 |
r3wp | 1905 |
total: | 2046 |
results window for this page: [start: 1601 end: 1700]
world-name: r3wp
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Dockimbel: 15-Oct-2009 | I've added your virtual domains definition to my httpd.cfg file, added a root-dir to domain.com, added :81 to the redirection URL, mapped both domain to localhost, changed domain.net's root-dir to %www/testapp and it works ok : >> read http://www.domain.com:81 connecting to: www.domain.com connecting to: www.domain.net == {<html> <head> ^-<title>Welcome to TestApp web application</title>... | |
Maxim: 15-Oct-2009 | it has the advantage of freeing the load from the web server so it can continue to stream data... and some client work using several inter-connected cheyenne servers actually provides good results, so I'm optimistic so far ;-) | |
Maxim: 15-Oct-2009 | is there any documentation on the concepts of web-apps? is this an rsp-specific cheyenne concept? | |
Maxim: 15-Oct-2009 | ok I looked at web apps... remark is basically an uber web-app architecture... all it needs are a few more configs. I'll add this in the second release of the mod | |
Dockimbel: 15-Oct-2009 | Only from close friends living in the java world, beyond them, no one. I don't expect much from outside REBOL world yet, Cheyenne is mainly useful for REBOL programmers. Once it reaches 1.x, Cheyenne will have features that would make it more interesting for outsiders (like a simple web control panel, web sites and webapp packaging in one unique executable, on-demand ready-to-use web application loading from our servers: blog, forum, bugtracker,...). I may also add a FTP service in a future 1.x version and a lot of other innovating new features I have in mind. ;-) | |
Terry: 8-Nov-2009 | Hey Doc, how would you deal with an async socket (or .dll) that received events allowing realtime updates on a Cheyenne web page? | |
Kaj: 9-Nov-2009 | There's nothing specific you have to do on the web server side except providing the service interfaces (regular HTTP responses) | |
Terry: 10-Nov-2009 | I want to unify communications using Cheyenne (Rebol) as the middleware, pulling and pushing info through and to each other ie: an event message from Freeswitch is processed via xml socket, processed, and pushed to a web page via comet / ajax.. and back again.. | |
Kaj: 10-Nov-2009 | I'm not sure it makes sense to let Freeswitch initiate events, because you can' t push them to the web browser, anyway. The browser will have to poll | |
Endo: 15-Dec-2009 | I can download it from the web | |
Graham: 21-Dec-2009 | and other web apps | |
Dockimbel: 21-Dec-2009 | Hmm, I think that the way I've used "webapps" in my previous msg is confusing, I was referring to a "web application" built using RSP scripts not the "webapp" keyword used in config file. A web application (along with its app-init.r file) is unique. OTOH, a webapp config is per virtual host. | |
Terry: 22-Dec-2009 | web sockets are an HTML 5 spec | |
Terry: 22-Dec-2009 | I imagine you could build a web socket protocol with Cheyenne in a few hours.. would take me a week | |
Dockimbel: 22-Dec-2009 | Apache already supports web sockets using a python plugin : http://code.google.com/p/pywebsocket | |
Terry: 22-Dec-2009 | Here's the W3C Web Sockets API if you're feeling so inclined. http://dev.w3.org/html5/websockets/#the-websocket-interface | |
Terry: 22-Dec-2009 | Not sure if you recall, but the work I was doing with Cheyenne was trying to implement Web sockets before Web sockets even existed. | |
Terry: 22-Dec-2009 | It's pretty straight-forward.. check out this PHP web socket server .. 140 lines http://code.google.com/p/phpwebsocket/source/browse/trunk/phpwebsocket/server.php | |
Kaj: 22-Dec-2009 | Will, such Comet solutions will probably include web sockets soon, as web sockets is an advanced form of Comet | |
Will: 22-Dec-2009 | As of now there are no browsers that supports websockets, apart from Chromium http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html meanwhile kaazing emulate that for older browsers http://www.kaazing.org/confluence/display/Doc/Architecture+Overview#kegfeatures | |
Kaj: 22-Dec-2009 | I have to research more, but it seems the http://js.iolibrary adds web sockets to older browsers | |
Kaj: 22-Dec-2009 | The trick is that web sockets needs a little server support to down/upgrade (as you see it) a HTTP connection to a more flexible TCP connection | |
Kaj: 22-Dec-2009 | But once it's a web standard, they can't have the nerve to close it off anymore | |
Terry: 22-Dec-2009 | Web sockets are not an advanced form of Comet. | |
Terry: 22-Dec-2009 | Though Comet and Ajax can both deliver end-user experiences that provide desktop-like functionality and low user-perceived latency, only Web Sockets lives up to the promise of providing a native means to accurately and efficiently stream events to and from the browser with negligible latency. It is by far the most comprehensive solution for delivering real-time information over the Web. Not only does it provide full asynchronous duplex streaming communication with a single TCP/IP connection, but also benefits from few HTTP headers and more importantly allows the same message format to be used by both the browser and the origin service. | |
Kaj: 22-Dec-2009 | Well, it's a matter of definition. They're very similar, but web sockets require the server support | |
Kaj: 22-Dec-2009 | It seems js.io is an alternative to web sockets. If it's true that web sockets need native browser support just like the server side, Comet will still have a long life | |
Kaj: 22-Dec-2009 | Still, I'm now considering the same as you. If I bundle Chrome with Syllable, by the time I am progressing with a few web apps, web sockets may have penetrated far enough to not bother with Comet | |
Graham: 22-Dec-2009 | I've got this really odd situation ... I have Cheyenne and the rebol micro web server both running. Cheyenne is on 8002, and MWS on 8001. Both share the www directory. at times I access a file and I get a 404 from Cheyenne but the MWS can find the file! | |
Dockimbel: 22-Dec-2009 | Found a cool example for future Cheyenne web sockets : http://www.onlinegames.com/basketball/ | |
Dockimbel: 24-Dec-2009 | FYI: I've implemented the web socket protocol in Cheyenne last night (not released yet) but I still need to figure out how to properly interface incoming data frames with the RSP engine. | |
Graham: 24-Dec-2009 | Is there a dummies for web sockets to explain what this does? | |
Graham: 24-Dec-2009 | And are people then running BEEP over web sockets? | |
Kaj: 24-Dec-2009 | Since it's being standardised as web technology, there will be a big social barrier for firewalls to start blocking it | |
Dockimbel: 25-Dec-2009 | SVN r45 : Web Sockets support FEAT: experimental Web Sockets support added. (See %www/ws.html and %www/ws.rsp) FIX: regression on bad HTTP request filtering. (Thanks to sqlab) FIX: minor code clean-ups. | |
Dockimbel: 25-Dec-2009 | You'll need Chrome 4 to be able to use web sockets (don't know about other browsers). | |
Dockimbel: 25-Dec-2009 | Currently, your web socket URL must point to an existing RSP script (or a path that translates to a RSP file). The included %ws.rsp script is just a simple echo service. | |
Dockimbel: 25-Dec-2009 | Once connected, all the web socket traffic is directed to the starting RSP script, where you can implement your own application specific protocol and action dispatching while benefiting from the RSP webapps features (like the webapp filesystem structure with private/public folders). | |
Dockimbel: 25-Dec-2009 | Server-side 'connect and 'close sockets events are missing. Not sure how easy it will be to add them to the RSP application model. More generaly, the web sockets require a shift in the whole application model, the RSP engine is tuned to request/response model, not client/server. I'm not even sure that such server can be built in a efficient way with REBOL without multi-threading support (can't share port! values between processes). | |
Dockimbel: 25-Dec-2009 | Just think about how a minimalistic multi-user chat app could be built using web sockets. The application code needs to be able to access all the existing connected sockets to broadcast user posts, but these sockets are connected to the main process (UniServe) while the application code is run in worker processes...Having everything in one process would solve that but you can't run any scalable app with such model (beyong just passing messages between sockets). That's where mutlti-threading would have been useful... | |
Graham: 25-Dec-2009 | Does this mean you can now more easily write a web control panel? And does it make it easier to use Cheyenne's mail server? | |
Dockimbel: 25-Dec-2009 | Graham: you should check if your server is reachable on this URL : http://localhost/ws.rsp(it should if you're using the config file from SVN). Web Control Panel : yes, it's easier with web sockets than with COMET approach, but it's not a show stopper anyway. Mail server : it could make it easier if you're using a client supporting web sockets. | |
Dockimbel: 25-Dec-2009 | My thought would be a business layer managing sockets? If you want a kind of bridging server (web sockets<=> Server <=> TCP), there's already existing products doing that like http://www.kaazing.com/products/kaazing-websocket-gateway | |
Terry: 25-Dec-2009 | Well, there's already existing web servers as well. .That's not the point. | |
Dockimbel: 25-Dec-2009 | Important notice wrt web sockets : IIRC, all data sent on both sides have to be UTF-8 encoded. The current Cheyenne implementation doesn't enforce that encoding, so it's up to the developer to send the right data format. | |
Terry: 25-Dec-2009 | Here's quick demo of pushing javascript back for eval ---------WS.html-------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Welcome!</title> <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'</script> <script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js'</script> </head> <body> <center> <h2>Web Socket test page</h2> <script> var conn = new WebSocket("ws://localhost/ws.rsp") conn.onopen = function(evt) { alert("Conn opened"); } conn.onmessage = function(evt) { eval(evt.data); } conn.onclose = function(evt) { alert("Conn closed"); } </script> <button onClick="conn.send('Hello World');"> Send Message </button> <button onclick="conn.send('makedrag');"> Make it drag</button> </center> <div id="test" style="height:100px;width:100px;border: 1px solid grey">MAKE ME DRAGGABLE</div> </body> </html> -------WS.rsp------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Welcome!</title> <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'</script> <script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js'</script> </head> <body> <center> <h2>Web Socket test page</h2> <script> var conn = new WebSocket("ws://localhost/ws.rsp") conn.onopen = function(evt) { alert("Conn opened"); } conn.onmessage = function(evt) { eval(evt.data); } conn.onclose = function(evt) { alert("Conn closed"); } </script> <button onClick="conn.send('Hello World');"> Send Message </button> <button onclick="conn.send('makedrag');"> Make it drag</button> </center> <div id="test" style="height:100px;width:100px;border: 1px solid grey">MAKE ME DRAGGABLE</div> </body> </html> | |
Terry: 25-Dec-2009 | WS.rsp should look like this <% ;-- RSP API web sockets specific changes -- ; ; request/web-socket? => true if this is an incoming socket message, false if it's HTTP. ; request/content/data => contains the socket message (string!) ;-- just echo back the message //prin request/content/data inc: request/content/data if inc = "makedrag" [prin "$('#test').draggable();"] if inc = "Hello World" [prin "alert('Hello back');"] %> | |
Dockimbel: 25-Dec-2009 | Btw, the Internet Draft defining the web socket protocol (http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-54) is really badly written. In particular, algorithm descriptions are incredibly obfuscated. On the design side, a packet-oriented protocol not sending packet length (for text frames), rather relying on begin/end markers, is a surprizing choice to me. | |
Graham: 25-Dec-2009 | And if i browse to http://localhost:8000/ws.html .. I see the web socket test page, and I get a Chrome alert saying that Conn closed. | |
Dockimbel: 25-Dec-2009 | Terry: after taking the time to think about your comments regarding how web sockets should be integrated in UniServe & task-master, it starts to make sense and it inspires me on how it could be done and how the framework could look like. I'm writing a few specs on paper and will maybe implement a prototype tomorrow. This web sockets stuff is really going to be exiting after all. ;-) | |
Dockimbel: 25-Dec-2009 | My goal is to be able to write the server side of a web app like this one (2k concurrent users on average) http://www.onlinegames.com/basketball/ using Cheyenne & a web sockets framework with minimal efforts and good scalability. | |
Dockimbel: 26-Dec-2009 | Looks like I'm not the only one ranting about web sockets protocol specifications : http://blogs.webtide.com/gregw/entry/how_to_improve_websocket | |
Graham: 27-Dec-2009 | Anyone got an example of how to connect to the web socket from a rebol client? | |
Dockimbel: 27-Dec-2009 | ws.rsp script is supposed to be accessed only through web sockets : ws://localhost/ws.rsp | |
Dockimbel: 27-Dec-2009 | This URL is not be typed in your browser address, it's for the web socket object creation in javascript. Please, have a look in %www/ws.html. | |
Dockimbel: 28-Dec-2009 | the connection is open, but RSP is stateless If you want to make it stateful, just store the data in session, file, database, whatever...Most of RSP API is still working with web sockets (response object methods will have no effect). | |
Dockimbel: 29-Dec-2009 | Terry, wait to try the new web socket framework I'm working on. It should be ready tonight (if I find time to finish testing and debugging). | |
Dockimbel: 29-Dec-2009 | SVN r46 : web socket application framework released. | |
Dockimbel: 29-Dec-2009 | I'll finish the pending items tomorrow and will try to provide a more fancy example by building a realtime web chat application. | |
Terry: 30-Dec-2009 | Script: "Cheyenne Web Server" (8-Mar-2009) Script: "Untitled" (none) make object! [ code: 300 type: 'script id: 'no-value arg1: 'scope arg2: none arg3: none near: [either root: select scope 'root-dir] where: 'read ] | |
Dockimbel: 30-Dec-2009 | do-task allows you to have multitasking in you web socket application. Internally, it re-uses the task-master service and the RSP IPC system. That way, you can easily integrate one or several web socket service or applications in existing RSP scripts or webapps. | |
Dockimbel: 30-Dec-2009 | do-task in this example, sends the raw incoming data from the browser to a worker process using ws.rsp script to generate a response that is sent back to the web socket app (if a /on-done callback has been defined) or directly to the client browser. | |
Dockimbel: 30-Dec-2009 | Yeah, you could make a realtime RSS feeder easily with web sockets. | |
Terry: 31-Dec-2009 | I think I'm lost (happens all the time). Let's say I want to poll a remote web page for screen scraping (or remote php processing) every 2 seconds, and pass that to a specific port.. I would do this from the 'socket-app, no? | |
Terry: 31-Dec-2009 | Now lets say the client hits an event on the web page, and now i want the timer to visit a different remote web page.. how would i pass that event to the timer? | |
Dockimbel: 31-Dec-2009 | SVN r51 FEAT: /ws-apps folders are now protected from direct access. FEAT: modified socket apps source files are reloaded and used by new clients. FIX: web socket application's 'session object renamed to the more accurate 'rsp-session. FIX: 'do-task calls now supported in 'on-timer handler. FIX: scheduler issue with deleted jobs. | |
Dockimbel: 31-Dec-2009 | That comes from the way web socket's connection are initiated, it starts like a simple HTTP GET request and the server is supposed to validate that request, check access authorization if required, etc... So, to avoid duplicating work, I choose to re-use RSP framework as much as possible. The initial ws:// URL must point to a valid RSP script so that the server can check, for example, RSP session cookie for access rights. | |
Graham: 3-Jan-2010 | doc is going to create some type of demo using web sockets | |
Will: 3-Jan-2010 | here is a flash based websocket so you can support old browsers and use websockets now 8-) http://github.com/gimite/web-socket-js | |
Dockimbel: 3-Jan-2010 | My demo is ready, but I found an issue to fix first with HTTP keepalive connections timeout colliding with web sockets timeout. The demo should be ready to try in a couple of hours (lunch time here). | |
Dockimbel: 3-Jan-2010 | Web sockets server-side support code is much shorter than HTTP, so, in theory, it should scale higher. | |
Dockimbel: 3-Jan-2010 | Ah, maybe not with web sockets long-lasting connections... | |
Will: 3-Jan-2010 | here is WebKit Web Socket design doc for anyone interested http://docs.google.com/View?id=dfm7gfvg_0fpjg22gh | |
Dockimbel: 3-Jan-2010 | SVN r52 FEAT: web socket realtime chat demo added. FEAT: changed socket application's SEND function specs to SEND client [port!] data [string!] (/with removed). FIX: timeout web socket issue clashing with HTTP keepalive timeouts. Web socket ports are no more timed out after 15sec. | |
Dockimbel: 3-Jan-2010 | Seems that the chat demo becomes the standard way to demo web sockets. :-) | |
Dockimbel: 3-Jan-2010 | No, the bindind between the URL (/chat.rsp) and the web socket app (chat) is done in the httpd.cfg file with the 'socket-app keyword. | |
Dockimbel: 3-Jan-2010 | Got the chat demo running online. If you have a web socket enabled browser (ex: Chrome 4), go visit here : http://demo.cheyenne-server.org:8080/chat.html | |
Dockimbel: 3-Jan-2010 | Hope this will inspire some of you to ride the new wave of realtime web application that will surely start to come this year. | |
Davide: 3-Jan-2010 | this web chat is using websocket on chrome (and comet in other browser). http://www.ddmind.com/modules.php?name=gdp_easy_chat It's a Rebol server and It works pretty well...great uptime and low cpu use. | |
Kaj: 3-Jan-2010 | http://www.osnews.com/story/22681/Syllable_Web_Server_Cheyenne_Gets_WebSocket_Framework | |
Dockimbel: 3-Jan-2010 | For web socket apps, the advantage would be to not have to require 'do-task to use the sync version of these protocols from a worker process. OTOH, that would put more burden on the main process lowering its scalability. So I've not decided yet, this would probably require good benchmarking first. | |
Kaj: 3-Jan-2010 | I had hoped it would be in time for OSNews, but I thought I had better make use of the current slow news period. I'm not sure they would report on just some web server | |
BrianH: 5-Jan-2010 | All good criticisms, except the "proprietary" one. It could be worse though - it could be a web chat. | |
Terry: 5-Jan-2010 | Yeah, web chats.... avatars, skins, website integration, API integration with gmail, animations, sound, video and other media integration... those things really suck | |
BrianH: 5-Jan-2010 | Yup, I agree, at least the parts that need the web to do (which isn't much on that list). | |
Kaj: 5-Jan-2010 | Web chat it will be | |
BrianH: 5-Jan-2010 | It's funny, Terry, but I keep agreeing with your sarcastic list once I filter out the stuff that I can do easier without a web browser, or that aren't necessary at all when you aren't using one. | |
BrianH: 5-Jan-2010 | Server-side web stuff is fun though. | |
Dockimbel: 6-Jan-2010 | Thanks Terry, I've upgraded the chat demo with most of your changes. I've also included an alert message for non-compliant web browsers. | |
Dockimbel: 7-Jan-2010 | Cookies: well, it would be a nice addition to a real chat app, but the point in this demo is to show web socket usage, not to build a full-featured chat app. If you want to build a full chat app, you're free to take my demo code and extend it as far as you wish. | |
Dockimbel: 7-Jan-2010 | PHP connection: it should be possible with minimal modifications, but why would you want that? Is there any significant PHP socket app yet ready to use? My goal in adding web sockets early in Cheyenne is to push developers to make nice apps in REBOL, not PHP. | |
Dockimbel: 7-Jan-2010 | That may be possible, but would be more complicated to support than web sockets as the server can't send data without getting a request. It will be hard to extend the web socket application framework without bloating it. Maybe a separated mod-comet would be a cleaner approach (but might duplicate a Iot of code in mod-socket). I will give it a look anyway, at least to estimate the time required to support it. | |
Dockimbel: 7-Jan-2010 | Terry, the point is that if you want to make PHP apps, you should better stick with another web server more adequate to PHP like Apache or Lightttpd. Cheyenne's PHP support has been done mainly to be able to integrate existing PHP apps in REBOL powered web sites, not build new ones. | |
Dockimbel: 7-Jan-2010 | It's not a matter for me to favor REBOL against PHP for builting apps (everyone is free to choose), but just that there are better tools to run PHP code than Cheyenne. OTOH, I'm not sure there's better choice currently than Cheyenne to run REBOL web apps. | |
Dockimbel: 7-Jan-2010 | Btw, the target market that was at the origin of Cheyenne project was home web servers, both for local and external use (serving files and apps from your home connection). The main feature was supposed to be simplicity of use through a very simple, but powerful control panel, and on-demand app loading (something like App Store, but for web apps). Another market that we've thought about was portable embedded web apps (server + apps bundled in a single exe with 0 install, 0 config). | |
Dockimbel: 7-Jan-2010 | Still needs an improved virtual filesystem to easily run RSP web apps from memory, but for custom embedded REBOL apps, it should work ok. | |
Pekr: 7-Jan-2010 | what Terry tries to say imo is, that nowadays the web proceeded, and it is much more dynamic, so that even RSP sounds old-school ... | |
Terry: 7-Jan-2010 | Speaking of threads.. Along with Websockets, HTML 5 comes with Webworkers (supported by Chrome as well) Workers provide a simple means for web content to run scripts in background threads. Once created, a worker can send messages to the spawning task by posting messages to an event handler specified by the creator. The worker thread can perform tasks without interfering with the user interface. In addition, they can perform I/O using XMLHttpRequest (although the responseXML and channel attributes are always null). The Worker interface spawns real OS-level threads, and concurrency can cause interesting effects in your code if you aren't careful. https://developer.mozilla.org/En/Using_web_workers | |
Terry: 7-Jan-2010 | Nope, wrong again.. workers are fine in Chrome.. that last demo only works with FF Here's some other demos on Resig's page http://ejohn.org/blog/web-workers/ | |
Terry: 8-Jan-2010 | Here's some code that uses flash as a websocket proxy for browsers that don't support websockets http://github.com/gimite/web-socket-js Needs some tweaking, particularly with ports. |
1601 / 2046 | 1 | 2 | 3 | 4 | 5 | ... | 15 | 16 | [17] | 18 | 19 | 20 | 21 |