r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Graham
9-Jul-2010
[8447]
i know, you're just against being the person to do it: :)
Dockimbel
9-Jul-2010
[8448x2]
well, as I'm not a jvm nor .net fan, I might not be the right person 
for the job ;-)
I might try with .net thought, the VM is more dynamic languages friendly 
than the jvm.
Graham
9-Jul-2010
[8450]
And there is mono
Dockimbel
9-Jul-2010
[8451x2]
Isn't mono still lagging behind too much?
in terms of supported features
Maxim
9-Jul-2010
[8453]
given the choice, I'd use .net instead of java. the only issue is 
that it relies tooo much on the IDE, which becomes so sluggish on 
complex setups that its not funny.
Graham
9-Jul-2010
[8454]
and neither run on the iPad ...
Maxim
9-Jul-2010
[8455x2]
MS IDEs crash regularly in a typical work session... plus every new 
release, you have to refactor stuff... its just really not nimble.
anyhow... we are pretty OT  ;-)
Graham
9-Jul-2010
[8457]
Is the Da Vinci project still going strong ?? http://openjdk.java.net/projects/mlvm/
Dockimbel
9-Jul-2010
[8458x2]
long time I haven't looked at Da Vinci...
yes it's OT, I'll stop here ;-)
Graham
9-Jul-2010
[8460]
bottom line... only Cheyenne is being maintained
Dockimbel
9-Jul-2010
[8461x3]
right
I could do some hotfix to CureCode too if required
but no evolution (for now at least)
Graham
9-Jul-2010
[8464]
There was a wish to add a documentation type to curecode
Dockimbel
9-Jul-2010
[8465]
ah, that could be added easily, I'll try to scan the CC channel here 
to see look for easy changes this weekend.
Graham
9-Jul-2010
[8466]
Just to allow users to add examples of how to use functions etc .. 
since many people do not have access to the various "wiki"s
Terry
10-Jul-2010
[8467x4]
Doc, the websocket problem discussed earlier seems related to this.. 
http://code.google.com/p/chromium/issues/detail?id=28453
things work fine as long as i use a domain name, but as soon as I 
go localhost:81 or 127.0.0.1:81, it goes south.
It also seems ok if using default port 80..
hmm, now its working fine everyway.. feel free to completely ignore 
my previous noise, and I'll just pretend it was all a bad dream
Endo
10-Jul-2010
[8471]
is there a ws:// protocol implementation for R2? How do I connect 
to a server and use websocket without a browser?
Graham
10-Jul-2010
[8472]
There isn't.
Endo
10-Jul-2010
[8473]
any plan? or is it difficult do you think?
Graham
10-Jul-2010
[8474]
http://www.whatwg.org/specs/web-socket-protocol/


Doesn't look very difficult .. if you need it, start a bounty for 
it
Endo
10-Jul-2010
[8475]
thanks, I'll try.
Graham
10-Jul-2010
[8476x2]
I had a quick look at the first few pages and it seems to use framing, 
with only one frame type defined at present.
Now Ladislav is the master here having written the beer protocol 
which multiplexes different frames over tcp .. so I'm sure he could 
do this if there are any difficulties.
Endo
10-Jul-2010
[8478]
Thank you. One last question, is the latest binary version of Cheyenne 
support web sockets? or it is the svn version which supports it?
Graham
10-Jul-2010
[8479]
Dunno .. never used web sockets ... Doc??
Graham
11-Jul-2010
[8480]
What uses are people finding for web sockets?
Endo
11-Jul-2010
[8481]
Do you mean people use it for what?
Graham
11-Jul-2010
[8482x5]
Yes ..
I presume that a web socket "function" will block all of Cheyenne 
until it is completed.
Unless there's a way of handing off to one of the spare cheyenne 
processes
I presume Terry is using web sockets to communicate to cheyenne instead 
of using rsp or cgi
and cheyenne is an embedded web server
Endo
11-Jul-2010
[8487x4]
well, I'm planning to make an turn based online game, but not inside 
a browser, client will be a separate rebol application. it will be 
connected to a web socket, and player did somthing it will be sent 
to all other players
I can use cgi aswell but there is no way to detect if a player disconnected.
But yes it blocks the whole Cheyenne process so it should be a very 
small and fast function.
Btw, I guess the latest svn version of Cheyenne supports web sockets 
as in changelog.txt which is 0.9.20.
The latest binary version on web site does not, V0.9.19.
Kaj
11-Jul-2010
[8491]
How do you know it blocks? Doc explained it doesn't
Endo
11-Jul-2010
[8492]
it says in Cheyenne documents?
Graham
11-Jul-2010
[8493x3]
the docs say it blocks
See http://code.google.com/p/cheyenne-server/source/browse/trunk/Cheyenne/www/ws-apps/ws-test-app.r
As this is running in main process, when

;-- any handler runs, it will block the server, so, you have to keep 
your code

;-- very efficient, it should run in between 1ms and 10ms if you 
want your Cheyenne

;-- server be able to scale to hundreds of concurrent clients. That's 
the cost to

;-- pay for not having multi-threading...Anyway, you can use the 
'do-task function
;-- to run longer code without blocking.
Dockimbel
11-Jul-2010
[8496]
Websocket server code can be run from two places: either in Cheyenne 
main process (allows accessing all clients ports and detecting ports 
open/close events) or in RSP scripts (using 'do-task function from 
a websocket app) when the job takes too much time (like accessing 
a database).