Javascript 使用Python代码中的SignalR服务器

Javascript 使用Python代码中的SignalR服务器,javascript,python,integration,signalr,signalr.client,Javascript,Python,Integration,Signalr,Signalr.client,我将Python与SignalR集成的选项是什么 Python代码是大型第三方产品的一部分,与语言偏好无关。SignalR server提供对现有.NET产品的订阅 我们希望将.NET SignalR server与Python一起重用。我可以想出一些方法,它们都是理论上的(而且可能从一开始就不是好主意): IPC—将python应用程序和signalr应用程序作为不同的进程托管,并以某种方式使用某种IPC机制(命名为pipes、tcp等)来回传输信息 使用IronPython(这可能不是一个

我将Python与SignalR集成的选项是什么

Python代码是大型第三方产品的一部分,与语言偏好无关。SignalR server提供对现有.NET产品的订阅


我们希望将.NET SignalR server与Python一起重用。

我可以想出一些方法,它们都是理论上的(而且可能从一开始就不是好主意):

  • IPC—将python应用程序和signalr应用程序作为不同的进程托管,并以某种方式使用某种IPC机制(命名为pipes、tcp等)来回传输信息
  • 使用IronPython(这可能不是一个真正的选项)
  • 将signar的轻量级verison移植到python()。可能不会以同样的方式工作,但可能您不需要所有的功能

或者您可以希望在python中找到一个类似的库。

python包索引中有一个名为“SignalR client”的SignalR客户端,它支持一些基本的SignalR功能

它与PythonV2和v3兼容

支持的功能包括:

  • 连接到信号机集线器
  • 调用信号器方法
  • 处理信号器通知的事件处理程序
它需要通过pip安装以下模块:

  • 格温特
  • sseclient
  • websocket客户端
按链接的示例用法:

#create a connection
connection = Connection(url, session)

#start a connection
connection.start()

#add a handler to process notifications to the connection
connection.handlers += lambda data: print 'Connection: new notification.', data

#get chat hub
chat_hub = connection.hub('chat')

#create new chat message handler
def message_received(message):
    print 'Hub: New message.', message

#receive new chat messages from the hub
chat_hub.client.on('message_received', message_received)

#send a new message to the hub
chat_hub.server.invoke('send_message', 'Hello!')

#do not receive new messages
chat_hub.client.off('message_received', message_received)

#close the connection
connection.close()

否决投票的原因是什么?如何改进描述实际工作编程问题的问题?虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能会无效。您需要从该链接下载库,因此该链接本质上就是答案,没有足够的空间来描述如何在可用空间中编写Python SignalR客户端以供应答。这可能是一个命令,或者,您可以向答案中添加必要的部分,例如支持一些基本的信号器功能,并将其变成一个答案。更新:信号器客户端v0.0.6与Python 2和3兼容。信号器-Python项目对我来说似乎已经死了。在PyPi上尝试signalrcore。