python-3.x - websocket握手源代码中的梯子和雷达是什么

标签 python-3.x websocket handshake

我正在学习 websocket 如何在 python 3 中工作。
我将 print(sock) 添加到 websocket 源中 _handshake.py 的 def 握手以了解 sock 中的消息是什么
结果是这样的:

Print out sock:<ssl.SSLSocket fd=508, family=AddressFamily.AF_INET, type=0, proto=0, laddr=('192.168.1.2', 58730), raddr=('202.160.125.211', 443)>

我想知道 laddr 和 raddr 是什么?
我知道这太基础了,但没有扎实的背景,因为我理解起来似乎很复杂
我已经在 gg 中搜索了这些关键字,但没有任何解释。
def handshake(sock, hostname, port, resource, **options):
    headers, key = _get_handshake_headers(resource, hostname, port, options)
    header_str = "\r\n".join(headers)
    send(sock, header_str)
    dump("request header", header_str)
    print("Print out sock:{}".format(sock))
    status, resp = _get_resp_headers(sock)
    if status in SUPPORTED_REDIRECT_STATUSES:
        return handshake_response(status, resp, None)
    success, subproto = _validate(resp, key, options.get("subprotocols"))
    if not success:
        raise WebSocketException("Invalid WebSocket Header")
    return handshake_response(status, resp, subproto)

最佳答案

laddr表示本地地址和 raddr表示套接字的远程地址。根据进程或应用程序的上下文,一个地址成为另一个套接字的远程地址。

关于python-3.x - websocket握手源代码中的梯子和雷达是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56749115/

相关文章:

security - 为什么握手协议(protocol)是sslv3,而client hello是sslv2

c# - 如何增加 .NET 中的 TLS 握手大小?

mysql - Django apache2 mod_wsgi 问题,_sql 导入错误

c - 如何将 WebSockets 合并到 Cocoa 应用程序中

javascript - AuthorizedHandler 阻止了错误的请求!网址 :/socket. io/

node.js - Faye 网络套接字

Java服务器自签名证书+客户端证书和SSL握手_失败

python - 将对象列表转换为字典

python - 在 python 3.x 中删除 raw_input() 的原因是什么?

python - 如何在初始化时动态继承?