public class GroovySocketServer extends Object implements Runnable
Typically this is used from the groovy command line agent but it can be invoked programatically. To run this program from the command line please refer to the command line documentation at Running Groovy from the commandline.
Here is an example of how to use this class to open a listening socket on the server, listen for incoming data, and then echo the data back to the client in reverse order:
new GroovySocketServer( new GroovyShell(), // evaluator false, // is not a file "println line.reverse()", // script to evaluate true, // return result to client 1960) //portThere are several variables in the script binding:
Constructor and Description |
---|
GroovySocketServer(GroovyShell groovy,
boolean isScriptFile,
String scriptFilenameOrText,
boolean autoOutput,
int port)
This creates and starts the socket server on a new Thread.
|
GroovySocketServer(GroovyShell groovy,
GroovyCodeSource source,
boolean autoOutput,
int port)
This creates and starts the socket server on a new Thread.
|
public GroovySocketServer(GroovyShell groovy, boolean isScriptFile, String scriptFilenameOrText, boolean autoOutput, int port)
groovy
- The GroovyShell object that evaluates the incoming text. If you need additional classes in the
classloader then configure that through this object.isScriptFile
- Whether the incoming socket data String will be a script or a file path.scriptFilenameOrText
- This will be a groovy script or a file location depending on the argument isScriptFile.autoOutput
- whether output should be automatically echoed back to the clientport
- the port to listen onpublic GroovySocketServer(GroovyShell groovy, GroovyCodeSource source, boolean autoOutput, int port)
groovy
- The GroovyShell object that evaluates the incoming text. If you need additional classes in the
classloader then configure that through this object.source
- GroovyCodeSource for the Groovy scriptautoOutput
- whether output should be automatically echoed back to the clientport
- the port to listen on