Phoenix Elixir 的 Websocket 客户端
项目描述
phxsocket
使用回调的同步凤凰 websocket 客户端
要求
websockets
用法
导入包
import phxsocket
创建套接字客户端
socket = phxsocket.Client("wss://target.url/channel/websocket", {"options": "something"})
连接并加入频道
if socket.connect(): # blocking, raises exception on failure
channel = socket.channel("room:roomname", {"more options": "something else"})
resp = channel.join() # also blocking, raises exception on failure
或者
def connect_to_channel(socket):
channel = socket.channel("room:roomname", {"more options": "something else"})
resp = channel.join()
socket.on_open = connect_to_channel
connection = socket.connect(blocking=False)
connection.wait() # blocking, raises exception on failure
断开时重新连接
socket.on_close = lambda socket: socket.connect()
订阅活动
def do_something(payload):
thing = payload["thing"]
channel.on("eventname", do_something)
将数据推送到通道
channel.push("eventname", {"some": "data"})
推送数据并等待响应
message = channel.push("eventname", {"some": "data"}, reply=True)
response = message.wait_for_response() # blocking
推送数据并通过回调对响应做出反应
def respond(payload):
print(payload)
channel.push("eventname", {"some": "data"}, respond)
离开一个频道
channel.leave()
断开
socket.close()
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
phxsocket-0.1.2.tar.gz
(4.5 kB
查看哈希)
内置分布
phxsocket-0.1.2-py3-none-any.whl
(17.5 kB
查看哈希)