首页 > 解决方案 > Web 应用程序中的 TCP 连接

问题描述

我真的需要你的建议。我有很多 TCP 客户端设备。Web 应用程序将在身份验证后被许多用户访问。我需要解决的问题是——

  1. 为这些客户端机器创建一个 TCP 侦听器,每个用户都应该访问它 - 我认为解决方案 - 在页面上创建一个 tcp 连接。加载页面后,每个用户都会从他们的设备(本地主机)创建一个新的 tcp 连接。这是可能的,因为每个用户的电脑都是不同的,所以它的连接将完全不同。但是这个解决方案不适用于问题 2。

  2. 机器每 30 秒广播一次数据。所以我的应用程序应该能够捕获该数据并在页面上进行更新。这是我认为的主要问题。

我知道网页上的实时数据更新可以使用 SignalR 完成。但是 SignalR 不直接与 TCP Client 机器连接。所以我想做的是——

第一 - 我尝试为 TCP 侦听器制作 WCF 服务。WCF 服务将从机器获取数据并保存到 signalR 将完成其工作的数据库中。但是每当我使用 wcf 服务时,我的系统就会挂起。所以我不知道这是否是正确的方法。

第二 - 我尝试将 Windows 服务创建为 tcp 侦听器。但我认为它不适用于 Web 应用程序。

坦率地说,我无法理解我应该为这个功能做什么。

从我这边 - 我只想要一个应用程序级别的 TCP 连接,它应该是持久的、独立于用户并且不应该在任何页面重新加载时关闭。每当该连接接收到数据时,它应该在每个用户的 Web 浏览器上进行更新,而无需重新加载。

我不能使用计时器。它应该是实时的。

根据我的发现和理解,TCP连接是与设备连接的,因此不能直接使用signalR。我们需要其他东西(比如服务)来使它与 signalR 一起工作。

所以最后,我该怎么办?我希望我足够清楚地说明我的问题。我只是想讨论一下,以便弄清楚我的疑问,并最终找到想要的结果。

编辑 1:

在 websocket 中,signalR... 通常客户端是指网络浏览器。设备(多媒体控制设备)可以成为类似于 signalR 的网络浏览器的客户端吗?

标签: asp.netwcf

解决方案


推荐阅读