Beispiel #1
0
    def run(self):
        self.running = True
        self.__server = UnixStreamServer(self.__socket, NetemDaemonHandler)
        os.chmod(self.__socket, 0o666)

        logging.info("Start pynetem daemon")
        self.__server.serve_forever()
Beispiel #2
0
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument('--unix_socket', action='store')
    parser.add_argument('mode', type=str, nargs='?')
    parser.add_argument('target', type=str, nargs='?')
    args = parser.parse_args(argv)

    if args.mode:
        if args.mode == 'always' and args.target:
            Handler.filename = args.target
        elif args.mode == 'redirect' and args.target:
            Handler.redirect = args.target
        elif args.mode == '404':
            Handler.not_found = True
        elif args.mode == 'timeout':
            Handler.simulate_timeout = True
        elif args.mode == 'auth':
            Handler.auth = True
            if args.target:
                Handler.filename = args.target

    httpd = None
    if args.unix_socket:
        httpd = UnixStreamServer(args.unix_socket, Handler)
        sys.stderr.write('Serving forever on %s.\n' % args.unix_socket)
    else:
        port = None
        while port is None:
            try:
                port = random.randrange(32760, 59760)
                httpd = TCPServer(('', port), Handler)
            except socket.error:
                port = None
        sys.stdout.write('%d\nstarted\n' % (port, ))
        sys.stdout.flush()
        sys.stdout.close()
        sys.stderr.write('Serving forever on %d.\n' % port)

    try:
        httpd.serve_forever()
    finally:
        sys.stderr.write('Goodbye.\n')
Beispiel #3
0
def run_test_server(sock_path):
    srv = UnixStreamServer(sock_path, RequestHandler)
    thr = Thread(target=srv.serve_forever)
    thr.daemon = True
    thr.start()
Beispiel #4
0
        r = json.dumps(r_dict)
        self.wfile.write(r.encode('utf-8'))
        super().finish()


if __name__ == "__main__":
    print('%s start...' % __file__)
    path = r'/home/nykh2010/sqlite3.sock'
    # try:
    #     with open(CONFIG_PATH, 'r') as f:
    #         config = f.read(1024)
    #         c_dict = json.loads(config)
    #         DBPORT = c_dict['dbconfig']['DBPORT']
    #         DBIP = c_dict['dbconfig']['DBIP']
    # except:
    #     DBIP = 'localhost'
    #     DBPORT = 9000

    if os.path.exists(path):
        os.unlink(path)
    dbserver = UnixStreamServer(path, DBServer)

    try:
        engine = create_engine(r'sqlite:///gateway.db?check_same_thread=False',
                               echo=True)
        Base.metadata.create_all(engine)
        Session = sessionmaker(bind=engine)
    except Exception as e:
        print(e)

    dbserver.serve_forever()
Beispiel #5
0
from socketserver import UnixStreamServer, StreamRequestHandler
import os


os.unlink('unix.sock')


class EchoTCPServer(StreamRequestHandler):
    def handle(self):
        data = self.request.recv(1024).strip()
        data = data.decode('utf-8')
        data = int(data[0]) + int(data[-1])
        data = str(data)
        data = data.encode('utf-8')
        self.request.sendall(data)


if __name__ == '__main__':
    with UnixStreamServer('unix.sock', EchoTCPServer) as server:
        server.serve_forever()
Beispiel #6
0
 def __init__(self, address):
     super(EchoServer, self).__init__()
     self.daemon = True
     self.server = UnixStreamServer(address, EchoHandler)
Beispiel #7
0
#!/usr/bin/env python
from fastcgi import *
from pathlib import Path
from socketserver import UnixStreamServer,TCPServer
from warnings import warn

class TestHandler(FcgiHandler):
    def handle(self):
        self.print(f'Content-type: text/html\n\nHello {self.content()}')

p = Path('fcgi.sock')
if p.exists(): p.unlink()
with UnixStreamServer(str(p), TestHandler) as srv: srv.serve_forever()