Сервер NodeJS, управляющий веб-сокетами Python + асинхронный обмен - PullRequest
0 голосов
/ 31 мая 2018

поэтому у меня есть этот простой код на Python, который открывает ws-соединение:

async def handshake():

    async with websockets.connect('ws://localhost/3000') as websocket:


        #Send email
        await websocket.send(email)

        #Recieve server random r
        r = unhexlify(await websocket.recv())

        #Generate client A
        a = int(hexlify(urandom(32)),16)
        A = pow(g,a,N)

        # Send A
        await websocket.send('{:0x}'.format(A))

        # Recieve B
        B = int(await websocket.recv(),16)

        # Generate S
        u = int(sha256(int2bytes(A) + int2bytes(B)).hexdigest(),16)
        x = int(sha256(r + sha256(email + b':' + pw).digest()).hexdigest(),16)

        S = pow((B - pow(g,x,N))%N, a + u * x, N)

        # Send token H(A||B||S)
        token = sha256(int2bytes(A) + int2bytes(B) + int2bytes(S)).hexdigest()
        await websocket.send(token)

        #Recieve confirmation
        result = await websocket.recv()

asyncio.get_event_loop().run_until_complete(handshake())

Код работает нормально, но я хотел бы создать сервер NodeJS, который мог бы справиться с этим, и я не могу найтилюбой ответ на этот вопрос.Я посмотрел на веб-сокет NodeJS, но не могу найти способ обработки заказанных пересылок и пересылки сообщений.Любое предложение о том, что использовать для создания этого сервера на NodeJS?

Заранее большое спасибо.

...