SignalR传输精益?

问题描述:

SignalR是否每次都在服务器和客户端之间发送回调方法的全名,或者是否存在编码?SignalR传输精益?

例子:

如果我调用服务器上的一个名为SetChatModeType方法,它发出的整个方法的名字第一次。但下次我调用它时,客户端和服务器都会将方法名称编码为适合几个字节,而不是发送整个“SetChatModeType”。

这比任何东西都更值得好奇。我没有足够频繁地援引任何事情来解决这个问题,但这可能会成为我下决心的决定性因素。

是的,它似乎确实将该信息从服务器发送到客户端,(参数"M":"clientMethod",即"M":"SetChatModeType"This article解析协议的工作方式。

示例消息格式在文章中解释。

客户端 - >服务器

{"H":"hubName", "M":"MethodName", "A":[arguments], "I":messageNumber } 

服务器 - >客户端

{"C":"B,6|O,0|P,0|Q,0", "M":[{"H":"hubName", "M":"clientMethod", "A":[arguments]}]} 

相关响应DTO,触发客户端的方法是defined here


由于@PatrickFletcher指出,this article是提高SignalR性能良好的资源和专门针对邮件大小以及如何减少它的问题。

+1

在本文中,“减少消息大小”下有一个用于减少高流量场景的SignalR消息的代码示例:http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/signalr-performance –

+0

@PatrickFletcher这是一个很好的补充,这个答案。感谢您指出了这一点。 :) – Scott