diff options
author | Guido van Rossum <guido@python.org> | 2014-05-04 10:11:09 -0700 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2014-05-04 10:11:09 -0700 |
commit | 7c1877af10de2aeb9f5547c5736b0c2dbdfb44b4 (patch) | |
tree | 98fbf7d10dcc68be5a50ddb26510c7aa7eed3cdf /examples | |
parent | f521d6a7dd3ddc2e70a88e7972816d25fd9b69ce (diff) | |
download | trollius-7c1877af10de2aeb9f5547c5736b0c2dbdfb44b4.tar.gz |
Simple echo client/server example (for Twitter thread).
Diffstat (limited to 'examples')
-rw-r--r-- | examples/echo_client_tulip.py | 19 | ||||
-rw-r--r-- | examples/echo_server_tulip.py | 17 |
2 files changed, 36 insertions, 0 deletions
diff --git a/examples/echo_client_tulip.py b/examples/echo_client_tulip.py new file mode 100644 index 0000000..9b5d29b --- /dev/null +++ b/examples/echo_client_tulip.py @@ -0,0 +1,19 @@ +import asyncio + +END = b'Bye-bye!\n' + +@asyncio.coroutine +def echo_client(): + reader, writer = yield from asyncio.open_connection('localhost', 8000) + writer.write(b'Hello, world\n') + writer.write(b'What a fine day it is.\n') + writer.write(END) + while True: + line = yield from reader.readline() + print('received:', line) + if line == END or not line: + break + writer.close() + +loop = asyncio.get_event_loop() +loop.run_until_complete(echo_client()) diff --git a/examples/echo_server_tulip.py b/examples/echo_server_tulip.py new file mode 100644 index 0000000..c1ccb9d --- /dev/null +++ b/examples/echo_server_tulip.py @@ -0,0 +1,17 @@ +import asyncio + +@asyncio.coroutine +def echo_server(): + yield from asyncio.start_server(handle_connection, 'localhost', 8000) + +@asyncio.coroutine +def handle_connection(reader, writer): + while True: + data = yield from reader.read(8192) + if not data: + break + writer.write(data) + +loop = asyncio.get_event_loop() +loop.run_until_complete(echo_server()) +loop.run_forever() |