我在作为服务运行的服务器上运行了SignalR Hub。由于任何原因,此服务器可能会因断电,正在更新(我们使用八达通自动更新)或其他原因而停止运行。

如果我有一个用户连接到此服务,则将消息发送到服务器,然后将消息转发到传感器。然后,传感器将消息返回到服务器,然后转发到客户端Webapp。

这在第一个连接上工作正常。如果服务在重新连接超时之前停止并重新启动,则我将获得具有相同连接ID的重新连接,并且可以发送消息。但是,我无法接收消息。

如果刷新页面,则会在创建新连接时得到它们。无论是OnConnect()还是OnReconnect(),都将调用相同的代码。

public override Task OnConnected()

{

EstablishConnection("Connect");

return base.OnConnected();

}

public override Task OnReconnected()

{

// Remove old Connection Id to receive messages on reconnect

ConnectionsHandler.Instance.RemoveTerminalClient(Context.ConnectionId);

EstablishConnection("Reconnect");

// This block is to tell the user that connection has been reconnected. This message shows on the webapp so connection has been restored.

var hubContext = GlobalHost.ConnectionManager.GetHubContext();

var message = TerminalMessageColorer.ColorMessageLime(String.Format("Connection has been re-established!"));

hubContext.Clients.Client(Context.ConnectionId).TerminalEcho(message);

return base.OnReconnected();

}

private void EstablishConnection(string conType)

{

ConnectionsHandler.Instance.AddTerminalClient(Context.ConnectionId, "null");

var terminal = ConnectionsHandler.Instance.GetTerminalClient(Context.ConnectionId);

#if DEBUG

Console.ForegroundColor = ConsoleColor.Yellow;

Console.WriteLine("{0}\t{1}\t...{2}", terminal, Context.ConnectionId, conType);

#endif

}

参考方案

我发现了问题所在。我需要在客户端代码中包装$timeout,因为C#代码似乎有点延迟。调试初始化程序后,我从chrome开发工具中偶然发现了这一点,以为未传递用户ID一定是错误的。一旦我在初始化调用处添加了一个断点,它就会去那里进行工作,但是从那里继续下去,之后我会收到消息。没有断点,我不会。所以我在通话周围添加了$timeout。

$timeout(function () {

initializeTerminal();

}, 100);

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …JavaScript中的字符串评估函数 - javascript

JavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…如何在JQuery中操作JSONArray - javascript

我有一个php函数,它以JSON返回此代码{"0":{"title":"Dans l\u2019appartement"},"1":{"title":"A l\u2019a\u00e9roport - D\u00e9part de B\u00e9at…在两个值之间匹配并返回正则表达式 - javascript

我正在尝试使用正则表达式从字符串中获取值,该值是tt="和"&之间的文本的值因此,例如,"tt="Value"&"我只想从中得到单词"Value"。到目前为止,我已经有了:/tt=.*&/这给了我"tt=Value"&,然后,要…获取JavaScript值到C#字符串 - javascript

是否可以在C#中执行类似的操作?该值为“ 10/05/2014”string jsValue = javascript("$('#EstimatedStartDate').val()"); 参考方案 您能否更详细地阐明您要做什么。看来您正在尝试从javascript(客户…

signalr收不到服务器的信息,重新连接的客户端SignalR没有收到消息 - javascript相关推荐

  1. signalr收不到服务器的信息,c# – SignalR .NET客户端无法接收消息

    我有一个.NET控制台应用程序,我正在练习signalR.var hubConnection = new HubConnection("http://URL/signalr/"); ...

  2. 未收到服务器返回信息吗,inode 未收到服务器回应

    inode 未收到服务器回应 内容精选 换一换 用户通话结束后,隐私保护通话平台通过此接口向客户推送通话的话单信息.短时间内有多个通话结束时隐私保护通话平台会将话单合并推送,每条消息最多携带50个话单 ...

  3. 服务器登录信息记录,服务器记录远程桌面登录的信息

    服务器记录远程桌面登录的信息 内容精选 换一换 您可以通过"应用管理"页面的应用列表,快速查看应用状态,及相关异常信息,如图1所示.包括:应用状态:即图1中的①应用异常信息:即图1 ...

  4. 超市服务器操作系统,超市收银系统 服务器 配置

    超市收银系统 服务器 配置 内容精选 换一换 竞价计费型实例采用竞价计费模式,以一定折扣购买并使用弹性云服务器,性能与常规云服务器无异.但是当库存资源不足,或市场价格上浮.并超过您的预期价格时,系统会 ...

  5. python 获取收件箱的具体信息

    转自(https://stackoverflow.com/questions/2230037/how-to-fetch-an-email-body-using-imaplib-in-python) 通 ...

  6. ftp服务器版本信息可被获取,ftp服务器版本信息可被获取

    ftp服务器版本信息可被获取 内容精选 换一换 简要介绍Oases是一个转录组组装器,旨在没有任何基因组组装的情况下从短读测序技术生成转录本.开发语言:C一句话描述:基因组装软件开源协议:GPL 3. ...

  7. play store显示“从服务器检索信息时出错。DF-DFERH-01”问题解决

    play store显示"从服务器检索信息时出错.DF-DFERH-01"问题解决 参考文章: (1)play store显示"从服务器检索信息时出错.DF-DFERH- ...

  8. 收银系统服务器数据库,收银系统服务器数据库

    收银系统服务器数据库 内容精选 换一换 计费项包括存储费和流量费,存储费根据存储库的不同进行收取.详细的计费项目如下所示:存储费:云硬盘备份存储库:备份云硬盘时购买.云服务器备份存储库:备份普通云服务 ...

  9. 服务器中显示存储设备,服务器节点信息集中显示方法、系统、设备及存储介质...

    1. 一种服务器节点信息集中显示方法,其特征在于,应用于CMC,包括: 获取M个BMC各自收集的参数信息数据,得到目标数据: 将所述目标数据发送至N个BMC,以使所述N个BMC中的任一BMC显示所述目 ...

最新文章

  1. Python的学习过程中not enough values to unpack (expected 2, got 1)解决方案
  2. android 视频 截图,java – android获取当前视频的截图
  3. [Java基础]final和static修饰符
  4. iOS中UIKit继承结构
  5. 小程序提交不能保存,后台可以正常保存
  6. dojo + jersey 上传图片到数据库
  7. IS-IS快速收敛调优(一)——IS-IS收敛机制
  8. jQuery 学习笔记之十 (jQuery ajax )
  9. sql报错SELECT list is not in GROUP BY clause and contains nonaggregated column
  10. 《OpenGL编程指南》一1.2 初识OpenGL程序
  11. 英文字母对应的Unicode编码
  12. SM2258XT+B17A测试(焊接+开卡+测速+跑圈)
  13. Android蓝牙4.0之传输速率的提升
  14. 计算机技术与软件专业技术资格考试(初级程序员)(一)
  15. 1024购书狂欢节,优惠券送给有需要的伙伴们
  16. spleeter——人声伴奏分离工具安装
  17. Q50 数组中重复的数字
  18. the oracle of bacon,python爬虫之遍历单个域名
  19. 【最短路】Graph practice T2 drive 题解
  20. 华为实习笔试2020.4.15

热门文章

  1. 基于JAVA+Servlet+JSP+MYSQL的读者荐购系统
  2. Codeforces903E Swapping Characters
  3. mysql把某一列的数据更新到另一列中(涉及到多张表的数据)
  4. webstorm编辑器相关
  5. 分析Cocos2d-x横版ACT手游源 1、登录
  6. 树形数据深度排序处理示例(模拟单编号法).sql
  7. 【转载】qsort 与 bsearch 的魔力
  8. 从零开始学前端:复习课程 --- 今天你学习了吗?(CSS:Day11)
  9. java 进阶 知乎_(二)零基础写Java知乎爬虫之进阶篇
  10. python写入excel表格数据绘制图表_(原创)xlsxwriter,python excel 写入数据\图表等操作_图表操作(二)...