История изменений
Исправление Turbid, (текущая версия) :
Оказывается в Python завезли сахара для работы с асинхронными сокетами: https://docs.python.org/3/library/asyncio-protocol.html
Вот небольшой пример, который позволяет слушать одну из моих железок:
import asyncio
from binascii import hexlify
class ClientProtocol(asyncio.Protocol):
def __init__(self, loop):
self.loop = loop
def connection_made(self, transport):
print('Connected')
def data_received(self, data):
print(hexlify(data))
def connection_lost(self, exc):
print('The server closed the connection')
print('Stop the event loop')
self.loop.stop()
loop = asyncio.get_event_loop()
coro = loop.create_connection(lambda: ClientProtocol(loop),
'192.168.15.16', 10001)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
Исправление Turbid, :
Оказывается в Python завезли сахара для работы с асинхронными сокетами: https://docs.python.org/3/library/asyncio-protocol.html
Вот небольшой пример, который позволяет слушать одну из моих железок:
import asyncio
from binascii import hexlify
class ClientProtocol(asyncio.Protocol):
def __init__(self, loop):
self.loop = loop
def connection_made(self, transport):
print('Connected')
def data_received(self, data):
print(hexlify(data))
def connection_lost(self, exc):
print('The server closed the connection')
print('Stop the event loop')
self.loop.stop()
loop = asyncio.get_event_loop()
coro = loop.create_connection(lambda: ClientProtocol(loop),
'192.168.15.16', 10001)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
[/url]
Исходная версия Turbid, :
Оказывается в Python завезли сахара для работы с асинхронными сокетами: https://docs.python.org/3/library/asyncio-protocol.html
Вот небольшой пример, который позволяет слушать одну из моих железок:
import asyncio
from binascii import hexlify
class ClientProtocol(asyncio.Protocol):
def __init__(self, loop):
self.loop = loop
def connection_made(self, transport):
print('Connected')
def data_received(self, data):
print(hexlify(data))
def connection_lost(self, exc):
print('The server closed the connection')
print('Stop the event loop')
self.loop.stop()
loop = asyncio.get_event_loop()
coro = loop.create_connection(lambda: ClientProtocol(loop),
'192.168.15.16', 10001)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
[/python]