python信号器核心客户机

signalrcore的Python项目详细描述


信号器核心客户端

PypiPypi - downloads monthIssuesOpen issues

链接

示例

使用来自aspnet core - SignalRChat的包 未经授权的聊天示例

importloggingimportsysfromsignalrcore.hub_connection_builderimportHubConnectionBuilderdefinput_with_default(input_text,default_value):value=input(input_text.format(default_value))returndefault_valueifvalueisNoneorvalue.strip()==""elsevalueserver_url=input_with_default('Enter your server url(default: {0}): ',"ws://localhost:62342/chathub")username=input_with_default('Enter your username (default: {0}): ',"mandrewcito")hub_connection=HubConnectionBuilder()\
    .with_url(server_url)\
    .configure_logging(logging.DEBUG)\
    .with_automatic_reconnect({"type":"raw","keep_alive_interval":10,"reconnect_interval":5,"max_attempts":5}).build()hub_connection.on_open(lambda:print("connection opened and handshake received ready to send messages"))hub_connection.on_close(lambda:print("connection closed"))hub_connection.on("ReceiveMessage",print)hub_connection.start()message=None# Do loginwhilemessage!="exit()":message=input(">> ")ifmessageisnotNoneandmessageisnot""andmessageisnot"exit()":hub_connection.send("SendMessage",[username,message])hub_connection.stop()sys.exit(0)

未经授权的聊天示例-手动重新连接

importloggingimportsysimporttimefromsignalrcore.hub_connection_builderimportHubConnectionBuilderdefinput_with_default(input_text,default_value):value=input(input_text.format(default_value))returndefault_valueifvalueisNoneorvalue.strip()==""elsevalueserver_url=input_with_default('Enter your server url(default: {0}): ',"ws://localhost:62342/chathub")username=input_with_default('Enter your username (default: {0}): ',"mandrewcito")hub_connection=HubConnectionBuilder()\
    .with_url(server_url)\
    .configure_logging(logging.DEBUG)\
    .build()hub_connection.on_open(lambda:print("connection opened and handshake received ready to send messages"))hub_connection.on_close(lambda:reconnect)defreconnect():print("connection closed")time.sleep(20)print("try reconnect")hub_connection.start()hub_connection.on("ReceiveMessage",print)hub_connection.start()message=None# Do loginwhilemessage!="exit()":message=input(">> ")ifmessageisnotNoneandmessageisnot""andmessageisnot"exit()":hub_connection.send("SendMessage",[username,message])hub_connection.stop()sys.exit(0)

使用aspnet core - SignalRAuthenticationSample中的包,

auth的示例

importrequestsfromsignalrcore.hub_connection_builderimportHubConnectionBuilderdefinput_with_default(input_text,default_value):value=input(input_text.format(default_value))returndefault_valueifvalueisNoneorvalue.strip()==""elsevaluedefsignalr_core_example_login(url,user,username_password):response=requests.post(url,data={"email":user,"password":username_password})returnresponse.json()["token"]login_url=input_with_default('Enter your server login url({0}):',"http://localhost:50746/account/token")server_url=input_with_default('Enter your server url(default: {0}): ',"ws://localhost:50746/hubs/chat")username=input_with_default('Enter your username (default: {0}): ',"mandrewcito@mandrewcito.com")password=input_with_default('Enter your password (default: {0}): ',"Abc123.--123?")hub_connection=HubConnectionBuilder()\
    .with_url(server_url,options={"access_token_factory":lambda:signalr_core_example_login(login_url,username,password)}).with_automatic_reconnect({"type":"interval","keep_alive_interval":10,"intervals":[1,3,5,6,7,87,3]})\
    .build()hub_connection.on("ReceiveSystemMessage",print)hub_connection.on("ReceiveChatMessage",print)hub_connection.on("ReceiveDirectMessage",print)hub_connection.start()message=Nonewhilemessage!="exit()":message=input(">> ")ifmessageisnotNoneandmessageisnot""andmessageisnot"exit()":hub_connection.send("Send",[message])hub_connection.stop()

简化示例

使用来自aspnet core - SignalRStreaming的包,

importtimeimportsysfromsignalrcore.hub_connection_builderimportHubConnectionBuilderdefinput_with_default(input_text,default_value):value=input(input_text.format(default_value))returndefault_valueifvalueisNoneorvalue.strip()==""elsevalueserver_url=input_with_default('Enter your server url(default: {0}): ',"ws://localhost:57957/streamHub")hub_connection=HubConnectionBuilder().with_url(server_url).build()hub_connection.start()time.sleep(10)defbye(error,x):iferror:print("error {0}".format(x))else:print("complete! ")globalhub_connectionhub_connection.stop()sys.exit(0)hub_connection.stream("Counter",[10,500]).subscribe({"next":lambdax:print("next callback: ",x),"complete":lambdax:bye(False,x),"error":lambdax:bye(True,x)})

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于切换状态结果的枚举的java输入   检测*NIX上打开的端口时出现java问题   java捕获和保存屏幕截图   java SLF4JLogback:基于日志级别的多模式   Java从字符串中删除动态子字符串   在spring引导中contextLoads测试时运行java Liquibase   基于规则集的任意嵌套POJO的java任意就地转换   java如何做,边做边循环这段代码?   java是什么导致jmh测量中的错误?   java Spring RabbitTemplate执行方法可见性   java jms创建连接http超时weblogic   java如何在JMapViewer中的两点之间放置像箭头一样的图像   在我的形状计算器Java程序中使用带有Switch/Case语句的循环   字符串如何在Java中比较字符和数字