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广播接收器未检测到按键事件   java不为特定列更改创建修订   java采用了更实用的方法   java桌面窗格HTML呈现   java处理internet连接丢失   java在调整JFrame的大小时,如何防止JTable的列调整大小?   如何用Java中的“Scanner.hasNext”完成程序   具有模块名称的java停止IntelliJ项目工具窗口?   执行已编译的Rails-Warbler JAR文件时发生java加载错误   java Spring数据redis存储库不支持集合查询?   每个客户端的java队列请求   获取Java中的JSON嵌套数组元素   java GWT,Vaadin ConcurrentModificationException   firebase存储中的java在保存照片之前,我需要发送两次照片   JavaSpringEleaf如何在容器外使用变量