Home | History | Annotate | Download | only in sockets
      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()
     36