def startServer(): # MyFactoryThread 실행 server = jsocket.ServerFactory(MyFactoryThread) server.timeout = 2.0 server.start() # take your time time.sleep(4) try: raise Networkerror("oops!") except Networkerror: print("second error occurred") server.stop() server.join()
def main(): global storage_dir parser = argparse.ArgumentParser(description='Sends files to clients.') parser.add_argument('-v', action='count', dest='verbose', help='Shows debug messages (default=False)', default=0) parser.add_argument('-p', type=int, action='store', dest='port', default=5000, help='TCP Port to use (default=5000)') parser.add_argument('-d', type=str, action='store', required=False, dest='storage_dir', default='files', help='Where get the files (default=./files)') args = parser.parse_args() storage_dir = os.path.abspath(args.storage_dir) level = logging.DEBUG if args.verbose > 0 else logging.INFO port = args.port if port <= 0 or port > 65535: logger.error("Invalid port") return if port < 1024 and not os.geteuid() == 0: logger.error("Ports below 1024 require eUID=0 (root)") return coloredlogs.install(level) logger.setLevel(level) logger.info("Starting.\n- Port: {}\n- LogLevel: {}\n- Storage: {}".format( port, level, storage_dir)) jserver = jsocket.ServerFactory(ServerFactoryThread, address='0.0.0.0', port=port) jserver.timeout = 99999 jserver.start()
def _process_message(self, obj): """ virtual method - Implementer must define protocol """ if obj != '': if obj['message'] == "new connection": logger.info("new connection.") else: logger.info(obj) if __name__ == "__main__": import time import jsocket server = jsocket.ServerFactory(MyFactoryThread, address='127.0.0.1', port=5490) server.timeout = 2.0 server.start() time.sleep(1) cPids = [] for i in range(10): client = jsocket.JsonClient(address='127.0.0.1', port=5490) cPids.append(client) client.connect() client.send_obj({"message": "new connection", "test": i}) client.send_obj({"message": i, "key": 1}) time.sleep(2)
self.timeout = 2.0 def _process_message(self, obj): """ virtual method - Implementer must define protocol """ if obj != '': if obj['message'] == "new connection": logger.info("new connection.") else: logger.info(obj) if __name__ == "__main__": import time import jsocket server = jsocket.ServerFactory(MyFactoryThread) server.timeout = 2.0 server.start() time.sleep(1) cPids = [] for i in range(10): client = jsocket.JsonClient() cPids.append(client) client.connect() client.send_obj({"message": "new connection"}) client.send_obj({"message": i}) time.sleep(2) for c in cPids: