diff options
Diffstat (limited to 'Demo/sockets/rpython.py')
-rwxr-xr-x | Demo/sockets/rpython.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Demo/sockets/rpython.py b/Demo/sockets/rpython.py new file mode 100755 index 0000000..9548301 --- /dev/null +++ b/Demo/sockets/rpython.py @@ -0,0 +1,35 @@ +#! /usr/local/bin/python + +# Remote python client. +# Execute Python commands remotely and send output back. + +import sys +import string +from socket import * + +PORT = 4127 +BUFSIZE = 1024 + +def main(): + if len(sys.argv) < 3: + print "usage: rpython host command" + sys.exit(2) + host = sys.argv[1] + port = PORT + i = string.find(host, ':') + if i >= 0: + port = string.atoi(port[i+1:]) + host = host[:i] + command = string.join(sys.argv[2:]) + s = socket(AF_INET, SOCK_STREAM) + s.connect((host, port)) + s.send(command) + s.shutdown(1) + reply = '' + while 1: + data = s.recv(BUFSIZE) + if not data: break + reply = reply + data + print reply, + +main() |