Подскажите как правильно сделать)
Уже много вопросов по этому поводу от меня)
но я не сдаюсь
Вот пример кода
import socket, ssl
import asyncio
class MySocket(object):
def __init__(self):
self.__host = 'mysite.com'
self.__port = 4637
self.__recv_handler = None
sock = socket.socket(socket.AF_INET)
context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
self.__conn = context.wrap_socket(sock, server_hostname=self.__host)
def connect(self):
self.__conn.connect((self.__host, self.__port))
self.__recv_handler = asyncio.ensure_future(self.__recive())
def send(self, data):
self.__conn.write(data.encode())
async def __recive(self):
while True:
data = await self.__conn.recv()
data = data.decode('utf-8')
print('<< ' + data)
async def main():
my_sock = MySocket()
print('Start')
my_sock.connect()
my_sock.send('ping')
asyncio.sleep(0.2)
my_sock.send('ping')
asyncio.sleep(4)
my_sock.send('ping')
asyncio.sleep(0.1)
my_sock.send('ping')
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Всегда получаю ошибку
TypeError: object bytes can't be used in 'await' expression
я понимаю что это за ошибка но не знаю как сделать по другому
много гуглил но ответа не нашел
наверно что то не так искал