|
@@ -57,6 +57,7 @@ class Client:
|
|
|
output_data = file_to_send.read(self.buffer_chunk_size)
|
|
|
writer.write(output_data)
|
|
|
await writer.drain()
|
|
|
+ await asyncio.sleep(1)
|
|
|
|
|
|
async def run_receiving_client(self, file_path='~/input.txt'):
|
|
|
self._file_path = file_path
|
|
@@ -67,10 +68,11 @@ class Client:
|
|
|
self._working = True
|
|
|
with open(self.file_path, 'wb') as file_to_receive:
|
|
|
while not self.stopping:
|
|
|
- try:
|
|
|
- input_data = await reader.readexactly(self.buffer_chunk_size)
|
|
|
- except asyncio.IncompleteReadError as e:
|
|
|
- input_data = e.partial
|
|
|
+ print("reading...")
|
|
|
+ input_data = await reader.read(self.buffer_chunk_size)
|
|
|
+ if not input_data:
|
|
|
+ continue
|
|
|
+ print(input_data)
|
|
|
file_to_receive.write(input_data)
|
|
|
|
|
|
def stop(self, *_):
|
|
@@ -112,9 +114,9 @@ if __name__ == '__main__':
|
|
|
loop = asyncio.get_event_loop()
|
|
|
client = Client(
|
|
|
host='127.0.0.1',
|
|
|
- port=5000,
|
|
|
+ port=(5000 if action == 'send' else 5001),
|
|
|
)
|
|
|
- loop.add_signal_handler(signal.SIGINT, client.stop, loop)
|
|
|
+ # loop.add_signal_handler(signal.SIGINT, client.stop, loop)
|
|
|
logging.info("Starting client...")
|
|
|
if action.lower() == 'send':
|
|
|
loop.run_until_complete(client.run_sending_client(file_path=file_path))
|