Skip to content

Instantly share code, notes, and snippets.

@evanxg852000
Last active January 9, 2020 17:49
Show Gist options
  • Save evanxg852000/98932bfdad32fce55558f8de83477e80 to your computer and use it in GitHub Desktop.
Save evanxg852000/98932bfdad32fce55558f8de83477e80 to your computer and use it in GitHub Desktop.
class Client():
def __init__(self, evt_loop):
self.event_loop = evt_loop
self.reader = None
self.writer = None
async def execute(self, cmd):
if self.reader == None:
if cmd.startswith('.connect'):
cmd = cmd.replace('.connect', '').strip()
parts = cmd.split(':')
(r, w) = await asyncio.open_connection(parts[0], parts[1], loop=self.event_loop)
self.reader = r
self.writer = w
else:
return 'Please connect with <.connect ip:port>'
else:
cmd = cmd.split(' ')
self.writer.write(encode(cmd).encode())
data = await self.reader.read(1024)
return decode(data.decode())
def close(self):
if self.writer != None:
self.writer.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment