Python HyBi10 websocket s

2024-06-28 19:53:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在过去的两个小时里,我一直在为新的Websocket版本而奋斗。我已经成功地获得了握手并接收了这些新的,但我现在在发送这些帧时遇到了问题。在

我把我的文字编码成这样:

def encode_hybi(buf, opcode, base64=False):
    """ Encode a HyBi style WebSocket frame.
    Optional opcode:
    0x0 - continuation
    0x1 - text frame (base64 encode buf)
    0x2 - binary frame (use raw buf)
    0x8 - connection close
    0x9 - ping
    0xA - pong
    """
    if base64:
        buf = b64encode(buf)

    b1 = 0x80 | (opcode & 0x0f) # FIN + opcode
    payload_len = len(buf)
    if payload_len <= 125:
        header = struct.pack('>BB', b1, payload_len)
    elif payload_len > 125 and payload_len < 65536:
        header = struct.pack('>BBH', b1, 126, payload_len)
    elif payload_len >= 65536:
        header = struct.pack('>BBQ', b1, 127, payload_len)

    #print("Encoded: %s" % repr(header + buf))

    #return header + buf, len(header), 0
    return header+buf

但我不知道我要把它倒在插座上。在

顺便问一句:难道没有什么简单的pythonwebsocket模块吗?我的代码现在已经看到了3个websocket版本,简直一团糟。在


Tags: 版本lenreturnifframestructpackb1