User Tools

Site Tools


at-m42:lecture10

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
at-m42:lecture10 [2009/04/16 14:34] eechrisat-m42:lecture10 [2011/01/14 12:45] (current) – external edit 127.0.0.1
Line 278: Line 278:
 </cli> </cli>
  
 +===== Ridiculously simple echo server =====
  
-Connection to host lost.+When a script is started in listening mode, standard-output is attached to the socket's output stream and the messages from the socket's input stream are available line-by-line to the programmer in variable ''line''. Thus our echo server can be reimplemented as: 
 +<code groovy|Example 7: a really simple echo server (at-m42/Examples/lecture10/simpleServer.groovy)> 
 +extern> http://www.cpjobling.org.uk/~eechris/at-m42/Examples/lecture10/simpleServer.groovy 
 +</code>
  
 +Run this as 
 +<cli prompt='>'>
 +e:\dev\at-m42-2009\Examples\lecture10> groovy -l 12345 simpleServer.groovy
 +</cli>
 +Then run any of the TCP clients developed earlier.
  
 +===== A 75 Line Web Server ======
  
 +To demonstrate the power of Groovy, Jeremy Rayner, one of the core Groovy developers, wrote a simple HTTP server in less than 75 lines of code!
  
-Another feature of Groovy is that scripts can be started with a special command line argument that starts them as a server process which listens to port +[[http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/src/examples/commandLineTools/SimpleWebServer.groovy|Listing]] is in the notes.
  
-===== A 75 Line Web Server ======+It really works: 
 +<cli prompt='>'> 
 +e:\dev\at-m42-2009\Examples\lecture10>groovy -l 80 SimpleWebServer.groovy 
 +</cli> 
 + 
 +---- 
 +<code groovy 1|Example 8: a web server in 74 lines of code> 
 +extern> http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/src/examples/commandLineTools/SimpleWebServer.groovy 
 +</code>
  
 ===== Firewall Warning ===== ===== Firewall Warning =====
at-m42/lecture10.1239892482.txt.gz · Last modified: 2011/01/14 12:21 (external edit)