Showing the changes to sys/src/cmd/python/Demo/sockets/rpython.py (1 of 3706 files). Show all
Unified · Split
| @@ -0,0 +1,35 @@ | |||
| 1 | #! /usr/bin/env python | ||
| 2 | |||
| 3 | # Remote python client. | ||
| 4 | # Execute Python commands remotely and send output back. | ||
| 5 | |||
| 6 | import sys | ||
| 7 | import string | ||
| 8 | from socket import * | ||
| 9 | |||
| 10 | PORT = 4127 | ||
| 11 | BUFSIZE = 1024 | ||
| 12 | |||
| 13 | def main(): | ||
| 14 | if len(sys.argv) < 3: | ||
| 15 | print "usage: rpython host command" | ||
| 16 | sys.exit(2) | ||
| 17 | host = sys.argv[1] | ||
| 18 | port = PORT | ||
| 19 | i = string.find(host, ':') | ||
| 20 | if i >= 0: | ||
| 21 | port = string.atoi(port[i+1:]) | ||
| 22 | host = host[:i] | ||
| 23 | command = string.join(sys.argv[2:]) | ||
| 24 | s = socket(AF_INET, SOCK_STREAM) | ||
| 25 | s.connect((host, port)) | ||
| 26 | s.send(command) | ||
| 27 | s.shutdown(1) | ||
| 28 | reply = '' | ||
| 29 | while 1: | ||
| 30 | data = s.recv(BUFSIZE) | ||
| 31 | if not data: break | ||
| 32 | reply = reply + data | ||
| 33 | print reply, | ||
| 34 | |||
| 35 | main() | ||