Update bridge (DMOJ)
This commit is contained in:
parent
77e64f1b85
commit
3629369fba
34 changed files with 770 additions and 2199 deletions
39
judge/bridge/echo_test_server.py
Normal file
39
judge/bridge/echo_test_server.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from judge.bridge.base_handler import ZlibPacketHandler
|
||||
|
||||
|
||||
class EchoPacketHandler(ZlibPacketHandler):
|
||||
def on_connect(self):
|
||||
print('New client:', self.client_address)
|
||||
self.timeout = 5
|
||||
|
||||
def on_timeout(self):
|
||||
print('Inactive client:', self.client_address)
|
||||
|
||||
def on_packet(self, data):
|
||||
self.timeout = None
|
||||
print('Data from %s: %r' % (self.client_address, data[:30] if len(data) > 30 else data))
|
||||
self.send(data)
|
||||
|
||||
def on_disconnect(self):
|
||||
print('Closed client:', self.client_address)
|
||||
|
||||
|
||||
def main():
|
||||
import argparse
|
||||
from judge.bridge.server import Server
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-l', '--host', action='append')
|
||||
parser.add_argument('-p', '--port', type=int, action='append')
|
||||
parser.add_argument('-P', '--proxy', action='append')
|
||||
args = parser.parse_args()
|
||||
|
||||
class Handler(EchoPacketHandler):
|
||||
proxies = args.proxy or []
|
||||
|
||||
server = Server(list(zip(args.host, args.port)), Handler)
|
||||
server.serve_forever()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue