用于与HappyPanda X服务器通信的客户端库
happypandax-client的Python项目详细描述
HappyPandax客户端
< Buff行情>用于与服务器通信的python客户端库
安装
使用pip安装和更新
$ pip3 install happypandax-client
示例
快起来跑起来:
importhappypandax_clientashpxclientfrompprintimportpprintc=hpxclient.Client("my-client")c.connect(host="localhost",port=7007)c.handshake(user=None,password=None)d=c.send([{"fname":"get_version"}])pprint(d)
API
客户端(name,host="localhost",port=7007,session\u id=",ssl\u context=none,timeout=60)–客户端实例
用于与HappyPanda X服务器通信的客户端。
名称
:客户名称主机
:HPX服务器主机端口
:HPX服务器主机会话标识
:如果提供,这将是消息中使用的会话标识ssl上下文
:请参见ssl.create_default_context
超时
:请参见
client.host(属性)str
设置或返回HPX服务器主机
client.port(属性)–int
设置或返回HPX服务器端口
客户接受(财产)布尔
此客户端是否经过身份验证(此值仅在连接后可用)
client.version(属性)
从HPX服务器返回的版本消息(此值仅在连接后可用)
client.guest允许(属性)–bool
是否允许来宾访问已连接的HPX服务器(此值仅在连接后可用)
client.ready()–布尔
此客户端是否准备好与HPX服务器交换消息
client.alive()–布尔
连接是否仍处于活动状态
client.connect(self,host=none,port=none)–bool
连接到HPX服务器
主机
:hpx服务器主机,如果设置为无
则将使用实例化时提供的主机端口
:hpx服务器端口,如果设置为无
则将使用实例化时提供的端口
client.handshake(self,user=none,password=none,ignore\u err=false,\u data={})–bool
与HPX服务器握手
用户
:用户名密码
:密码忽略错误
:不要引发任何错误
client.request握手(self,user=false,password=false,ignore\u err=false)–bool
基本上是重新登录
用户
:用户名,如果设置为假
将使用以前提供的用户名密码
:密码,如果设置为假
将使用以前提供的密码忽略错误
:不要引发任何错误
client.send"字节(self,data,raise"on"u auth=true)"字节
将bytedata发送到服务器。从服务器接收bytedata。
数据
:发送到服务器的字节数据raise_on_auth
:如果客户端未通过身份验证,则引发错误
client.send_raw(self,data,raise_on_auth=true,encoding='utf-8')–dict
将JSON兼容的dict发送到服务器。从服务器接收JSON兼容。
请注意,此方法不会向消息中添加任何内容,并希望您自己添加名称和会话。请参见"Finalize"(完成)功能。
数据
:要发送到服务器的数据,这是一个dictraise_on_auth
:如果客户端未通过身份验证,则引发错误编码
:字节编码,不应该有理由更改此项
client.send(self,data,raise_on_auth=true,encoding='utf-8')–dict
类似于client.send_raw,但为了方便起见,此方法会将您的消息包装到hpx期望的所需消息结构中,并自动设置会话和名称:
final_msg={'session':client.session_id,'name':client.name,'data':data,# <--- your message is put here}
数据
:要发送到服务器的数据,这通常是一个dict列表raise_on_auth
:如果客户端未通过身份验证,则引发错误编码
:字节编码,不应该有理由更改此项
client.close()无
关闭与服务器的连接。请注意,关闭连接后将无法再次连接。
完成(名称、数据、会话id=)–dict
一个帮助函数,它将像这样包装您的消息:
msg={'session':session_id,'name':name,'data':data,# <--- your message is put here}
名称
:客户名称数据
:要发送到服务器的数据,这通常是一个dict列表会话id
:会话id
这些都是客户端可以引发的异常:
clienterro(异常)
基本客户端异常,所有客户端异常都将由此派生
连接错误(clienterror,连接错误)
服务器连接错误
服务器断开连接错误(连接错误,连接错误)
服务器已断开连接
验证错误(clienterror)
验证基错误
身份验证要求错误(身份验证错误)
验证错误的凭据错误(autherror)
授权凭据(autherror)
jsonparseerror(clienterror)
额外
使用不同的json库
它必须支持作为标准json
module
import happypandax_client as hpxclient
import ujson
hpxclient.client.json = ujson