gpt4 book ai didi

python - Python 中的 Socket.IO 客户端库

转载 作者:IT老高 更新时间:2023-10-28 20:31:38 24 4
gpt4 key购买 nike

谁能推荐一个用于 Python 的 Socket.IO 客户端库?我环顾四周,但唯一能找到的要么是服务器实现,要么依赖于诸如 Twisted 之类的框架。

我需要一个不依赖其他框架的客户端库。

仅仅使用多种连接类型中的一种是不够的,因为 python 客户端需要与多个 socketio 服务器一起工作,例如,其中许多服务器不支持 websocket。

最佳答案

Archie1986 的回答很好,但由于 socketio 更新已经过时(更具体地说,它的协议(protocol):https://github.com/LearnBoost/socket.io-spec)...据我所知,您需要手动执行握手,然后才能请求传输(例如,websockets) 连接...请注意,下面的代码不完整且不安全...一方面,它忽略了握手响应中返回的支持传输列表,并且总是尝试获取 websocket...它还假设握手总是成功...不过,这是一个很好的起点

import websocket, httplib

...

'''
connect to the socketio server

1. perform the HTTP handshake
2. open a websocket connection '''
def connect(self) :
conn = httplib.HTTPConnection('localhost:8124')
conn.request('POST','/socket.io/1/')
resp = conn.getresponse()
hskey = resp.read().split(':')[0]

self._ws = websocket.WebSocket(
'ws://localhost:8124/socket.io/1/websocket/'+hskey,
onopen = self._onopen,
onmessage = self._onmessage)

....

您可能还想阅读 python-websockets:https://github.com/mtah/python-websocket

关于python - Python 中的 Socket.IO 客户端库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4762086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com