"Luke Dunstan" <[EMAIL PROTECTED]> writes: > I sometimes use interactive commands, but usually through a program called > ActiveSync Remote Display which is like Remote Desktop.
Ok, I've downloaded the Windows Mobile Power toys. Maybe there's something useful in it. > Other times I do double-click on scripts, and it is possible (but > inconvenient) to see the error messages by switching to the Python > window. Ah, I see. Could the error window be made smaller and moveable so that one could move it around to see the actual traceback? > I have been planning on creating some tools to help this process but > maybe you've already done that? > > Your script would be appreciated. I've attached it. There are two issues with it: First, you have to set the PC's IP address in the client.py script. For me, 127.0.0.1 did *not* seem to work. Second, you must start the server.py script on the PC before starting the client.py script on the pocket device. I was not able to start the connection from the pocket device, although that would seem more logical. Thomas
# Thomas Heller 20060109 # Run this on the Pocket_PC, *after* starting server.py on the PC import sys, socket, code, time try: HOST = '192.168.0.236' # The remote host PORT = 20000 # The same port as used by the server s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) def readfunc(prompt=""): if prompt: sys.stderr.write(prompt) try: data = s.recv(1024) except EOFError: s.close() sys.stderr._output.write(data[:-1]) sys.stderr._output.write("\n") return data[:-1] class Output(object): def __init__(self, output): self._output = output def write(self, text): self._output.write(text) s.send(text) sys.stdout = Output(sys.stdout) sys.stderr = Output(sys.stderr) ## sys.ps1 = "Pocket_PC >>> " ## sys.ps2 = "Pocket_PC ... " banner = "Python %s on %s\n(Remote Console)" % (sys.version, sys.platform) # Replace the builtin raw_input (which doesn't work on CE anyway), # to make pdb work. import __builtin__ __builtin__.raw_input = readfunc code.interact(banner=banner, readfunc=readfunc) except SystemExit: raise except: import traceback traceback.print_exc() time.sleep(5)
# Thomas Heller 20060109 # Start this script on the PC, then start client.py on the Pocket PC. import socket, sys, threading HOST = '' # Symbolic name meaning the local host PORT = 20000 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(1) conn, addr = s.accept() def get_input(): while 1: data = raw_input() conn.send(data + '\n') t = threading.Thread(target=get_input) t.setDaemon(True) t.start() while 1: data = conn.recv(1024) if not data: print "SystemExit, hit return to end." raise SystemExit sys.stderr.write(data)
_______________________________________________ PythonCE mailing list PythonCE@python.org http://mail.python.org/mailman/listinfo/pythonce