NodeJS服务器管理Python websockets +异步交换

时间:2018-05-31 07:07:38

标签: python node.js asynchronous websocket handshake

所以我有这个简单的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 websocket,但我找不到处理有序的前后消息的方法。关于在NodeJS上使用什么来制作这个服务器的任何建议?

非常感谢你。

0 个答案:

没有答案