almos exhausted
This commit is contained in:
parent
c8409e12ef
commit
69c06dc4dc
@ -1,7 +1,7 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import collections
|
import collections
|
||||||
import logging
|
import logging
|
||||||
import signal
|
# import signal
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
@ -57,7 +57,6 @@ class Client:
|
|||||||
output_data = file_to_send.read(self.buffer_chunk_size)
|
output_data = file_to_send.read(self.buffer_chunk_size)
|
||||||
writer.write(output_data)
|
writer.write(output_data)
|
||||||
await writer.drain()
|
await writer.drain()
|
||||||
await asyncio.sleep(1)
|
|
||||||
|
|
||||||
async def run_receiving_client(self, file_path='~/input.txt'):
|
async def run_receiving_client(self, file_path='~/input.txt'):
|
||||||
self._file_path = file_path
|
self._file_path = file_path
|
||||||
@ -68,7 +67,6 @@ class Client:
|
|||||||
self._working = True
|
self._working = True
|
||||||
with open(self.file_path, 'wb') as file_to_receive:
|
with open(self.file_path, 'wb') as file_to_receive:
|
||||||
while not self.stopping:
|
while not self.stopping:
|
||||||
print("reading...")
|
|
||||||
input_data = await reader.read(self.buffer_chunk_size)
|
input_data = await reader.read(self.buffer_chunk_size)
|
||||||
if not input_data:
|
if not input_data:
|
||||||
continue
|
continue
|
||||||
@ -107,20 +105,20 @@ if __name__ == '__main__':
|
|||||||
else 'receive'
|
else 'receive'
|
||||||
)
|
)
|
||||||
if len(sys.argv) > 2:
|
if len(sys.argv) > 2:
|
||||||
file_path = sys.argv[2]
|
_file_path = sys.argv[2]
|
||||||
else:
|
else:
|
||||||
file_path = input(f"Enter file to {action}:\t\t\t\t\t\t")
|
_file_path = input(f"Enter file to {action}:\t\t\t\t\t\t")
|
||||||
|
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
client = Client(
|
client = Client(
|
||||||
host='127.0.0.1',
|
host='127.0.0.1',
|
||||||
port=(5000 if action == 'send' else 5001),
|
port=5000,
|
||||||
)
|
)
|
||||||
# loop.add_signal_handler(signal.SIGINT, client.stop, loop)
|
# loop.add_signal_handler(signal.SIGINT, client.stop, loop)
|
||||||
logging.info("Starting client...")
|
logging.info("Starting client...")
|
||||||
if action.lower() == 'send':
|
if action.lower() == 'send':
|
||||||
loop.run_until_complete(client.run_sending_client(file_path=file_path))
|
loop.run_until_complete(client.run_sending_client(file_path=_file_path))
|
||||||
else:
|
else:
|
||||||
loop.run_until_complete(client.run_receiving_client(file_path=file_path))
|
loop.run_until_complete(client.run_receiving_client(file_path=_file_path))
|
||||||
loop.close()
|
loop.close()
|
||||||
logging.info("Stopped server")
|
logging.info("Stopped server")
|
||||||
|
@ -72,16 +72,11 @@ class Server:
|
|||||||
async def forward_bytes(self, reader: asyncio.StreamReader, writer: asyncio.StreamWriter):
|
async def forward_bytes(self, reader: asyncio.StreamReader, writer: asyncio.StreamWriter):
|
||||||
self._working = True
|
self._working = True
|
||||||
asyncio.ensure_future(self.run_reader(reader=reader))
|
asyncio.ensure_future(self.run_reader(reader=reader))
|
||||||
|
|
||||||
async def forward_bytes2(self, reader: asyncio.StreamReader, writer: asyncio.StreamWriter):
|
|
||||||
self._working = True
|
|
||||||
asyncio.ensure_future(self.run_writer(writer=writer))
|
asyncio.ensure_future(self.run_writer(writer=writer))
|
||||||
|
|
||||||
async def run_server(self):
|
async def run_server(self):
|
||||||
reader_server = await asyncio.start_server(client_connected_cb=self.forward_bytes,
|
reader_server = await asyncio.start_server(client_connected_cb=self.forward_bytes,
|
||||||
host=self.host, port=self.port)
|
host=self.host, port=self.port)
|
||||||
writer_server = await asyncio.start_server(client_connected_cb=self.forward_bytes2,
|
|
||||||
host=self.host, port=self.port+1)
|
|
||||||
async with reader_server:
|
async with reader_server:
|
||||||
await reader_server.serve_forever()
|
await reader_server.serve_forever()
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user