source: ogBrowser-Git/qtermwidget/examples/cpp/RemoteTerm/shell-srv.py @ c0cec9d

jenkinsmain
Last change on this file since c0cec9d was 64efc22, checked in by Vadim Troshchinskiy <vtroshchinskiy@…>, 20 months ago

Update qtermwidget to modern version

  • Property mode set to 100644
File size: 846 bytes
Line 
1#!/usr/bin/env python
2
3import sys
4import os
5import socket
6import pty
7
8def usage(program):
9    print "Example(server-side) for remote terminal of QTermWidget."
10    print "Usage: %s ipaddr port" %program
11
12
13def main():
14    if len(sys.argv) != 3:
15        usage(sys.argv[0])
16        sys.exit(1)
17    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
18    try:
19        s.bind((sys.argv[1], int(sys.argv[2])))
20        s.listen(0)
21        print "[+]Start Server."
22    except Exception as e:
23        print "[-]Error Happened: %s" %e.message
24        sys.exit(2)
25
26    while True:
27        c = s.accept()
28        os.dup2(c[0].fileno(), 0)
29        os.dup2(c[0].fileno(), 1)
30        os.dup2(c[0].fileno(), 2)
31
32        # It's important to use pty to spawn the shell.
33        pty.spawn("/bin/sh")
34        c[0].close()
35   
36if __name__ == "__main__":
37    main()
Note: See TracBrowser for help on using the repository browser.