Skip to content

stream_socket 模块

WebSocket底层库和websocket client上层封装库

esp官方的websocket client库

class websocket_client

init(config: instance) -> pointer

参数类型说明
configinstance
  • 返回: pointer
C++ 映射 esp_websocket_client_init

set_uri(client: pointer, uri: str) -> int

参数类型说明
clientpointer
uristr
  • 返回: int
C++ 映射 esp_websocket_client_set_uri

set_headers(client: pointer, headers: str) -> int

参数类型说明
clientpointer
headersstr
  • 返回: int
C++ 映射 esp_websocket_client_set_headers

append_header(client: pointer, key: str, value: str) -> int

参数类型说明
clientpointer
keystr
valuestr
  • 返回: int
C++ 映射 esp_websocket_client_append_header

start(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_start

stop(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_stop

destroy(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_destroy

destroy_on_exit(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_destroy_on_exit

send_bin(client: pointer, data: str, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
datastr
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_bin

send_bin_partial(client: pointer, data: str, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
datastr
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_bin_partial

send_text(client: pointer, data: str, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
datastr
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_text

send_text_partial(client: pointer, data: str, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
datastr
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_text_partial

send_cont_msg(client: pointer, data: str, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
datastr
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_cont_msg

send_fin(client: pointer, timeout: pointer) -> int

参数类型说明
clientpointer
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_fin

send_with_opcode(client: pointer, opcode: pointer, data: int, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
opcodepointer
dataint
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_send_with_opcode

close(client: pointer, timeout: pointer) -> int

参数类型说明
clientpointer
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_close

close_with_code(client: pointer, code: int, data: str, len: int, timeout: pointer) -> int

参数类型说明
clientpointer
codeint
datastr
lenint
timeoutpointer
  • 返回: int
C++ 映射 esp_websocket_client_close_with_code

is_connected(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_is_connected

get_ping_interval_sec(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_get_ping_interval_sec

set_ping_interval_sec(client: pointer, ping_interval_sec: int) -> int

参数类型说明
clientpointer
ping_interval_secint
  • 返回: int
C++ 映射 esp_websocket_client_set_ping_interval_sec

get_reconnect_timeout(client: pointer) -> int

参数类型说明
clientpointer
  • 返回: int
C++ 映射 esp_websocket_client_get_reconnect_timeout

set_reconnect_timeout(client: pointer, reconnect_timeout_ms: int) -> int

参数类型说明
clientpointer
reconnect_timeout_msint
  • 返回: int
C++ 映射 esp_websocket_client_set_reconnect_timeout

register_events(client: pointer, event: pointer, event_handler: pointer) -> str

参数类型说明
clientpointer
eventpointer
event_handlerpointer
  • 返回: str

unregister_events(client: pointer, event: pointer, event_handler: pointer) -> str

参数类型说明
clientpointer
eventpointer
event_handlerpointer
  • 返回: str

封装上述websocket_client类而简化和适应本平台某些特性的websocket开发的类

class WSClient

static __init__(auto_reconnect: bool) -> instance

参数类型说明
auto_reconnectbool
  • 返回: instance
C++ 映射 wsclient_create

destroy() -> None

  • 返回: None

set_header(key: str, value: str) -> None

参数类型说明
keystr
valuestr
  • 返回: None

set_auto_packet_connected(packet: pointer, packet_size: int, is_binary: bool) -> None

参数类型说明
packetpointer
packet_sizeint
is_binarybool
  • 返回: None

enable_cache(cache_size: int, cache_from_pool: bool) -> None

启用发送缓存。当网络实际并没有连上的时候,继续发送数据就会被缓存起来,直到网络连接成功的时候就会自动优先发送

cache_size: 缓存大小,单位是字节,如果设置为0,则关闭缓存 cache_from_pool: 如果为True,则表示所使用的内存是从llpy的池中申请,那参数2就尽量不要大,如果为False则直接使用RAM,一般情况下不建议设置为False

参数类型说明
cache_sizeint
cache_from_poolbool
  • 返回: None

connect(url: str) -> bool

参数类型说明
urlstr
  • 返回: bool
C++ 映射 wsclient_connect

is_connected() -> bool

  • 返回: bool
C++ 映射 wsclient_is_connected

close() -> None

  • 返回: None

register_event(event: str, event_handler: pointer) -> str

注册响应事件

event参数是响应事件的名称,是一个字符串,目前可用的事件名称有:before_connect|connected|disconnected|data|error|closed。 本函数所有注册的callback的1号参数都是self,所以,请确保self在整个callback周期内生命周期都是有效的,本函数不会对self的引用计数进行处理 event_handler是响应函数,响应函数分3种类型,before_connect、connected、closed和disconnected都只有一个参数,就是本类实例self。error有两个参数,参数1是self,参数2是一个整数值,表示错误码。data事件也有3个参数,self、dataptr和isBinary,其中dataptr是pointer类型,想知道dataptr实际有多少字节可以使用len(dataptr)得到,isBinary为True表示dataptr中的数据是二进制的,否则就是文本的

参数类型说明
eventstr
event_handlerpointer
  • 返回: str
C++ 映射 wsclient_register_event

send(data: pointer) -> str

发送数据 data: 要发送的数据,可以是pointer、bytes、str这3种类型,pointer和bytes类型会被自动的认为是二进制类型,str则会默认为文本类型

参数类型说明
datapointer
  • 返回: str
C++ 映射 wsclient_sendbin
  • WEBSOCKET_EVENTS: pointer = (const void*)WEBSOCKET_EVENTS

基于 llpython ESP 平台构建