【问题标题】:ASP.NET & TCP Server SolutionASP.NET & TCP 服务器解决方案
【发布时间】:2013-01-08 10:48:14
【问题描述】:

我的服务器上运行了两个应用程序:

  1. TCP 套接字服务器不断接受和发送消息到和 来自客户端(C# .NET Winforms)
  2. ASP.NET 应用程序

我需要的是:

  • 当通过 TCP 连接(应用程序 1)从客户端接收到消息时,我希望 ASP .NET 应用程序(应用程序 2)动态反映此数据。我意识到我可以通过 TCP 套接字设置数据库条目,然后由 ASP.NET 应用程序获取。
  • 一种从 ASP .NET 应用程序向客户端发送消息到 TCP 套接字服务器内部可用的客户端的方法

例如一个简单的聊天程序,客户端发送“Hi”,服务器响应“Welcome”。 ASP .NET 应在此对话发生时显示该对话的日志。立即地。如果我单击 ASP 应用程序上的按钮,它应该代表套接字服务器向客户端发送一条消息“您已被服务器接受”

在大多数情况下,消息会像这里显示的那样很短。

A 和 B 最好的方法是什么?

【问题讨论】:

  • 立即像在几毫秒内? Asp.net 向浏览器推送还是拉取?

标签: c# asp.net sockets tcp


【解决方案1】:

如果您从另一个 SignalR 客户端(网页)获取消息,SignlaR 是一个很好的解决方案。

但是如果这些消息是通过 TCP/IP 从第三个系统发送的呢? 然后您需要在 ASP.NET Web 应用程序中打开一个 TCP 端口,并在收到消息后将其推送到 Web 客户端。

但问题是,将这种 TCP 侦听器托管在 Web 应用程序 (ASP.NET) 中的最佳方式是什么?

【讨论】:

    【解决方案2】:

    如果您的“消息”主要是文本,您可能需要查看SignalR

    SignalR 是一个新的 asp.net 库,用于启用实时 Web 功能。

    它使用 websockets(如果 websockets 在服务器/客户端不可用,则使用长轮询)。

    它支持不同的客户端类型。

    【讨论】:

    • 您可能想提到 SignalR 现在是 ASP.NET 家族的一部分
    • @jgauffin 是的,我想我应该知道,但网址说明了他需要知道的一切。
    • 好吧。答案现在可以归类为仅链接答案(因此被标记为删除)。你应该解释什么是信号器。
    • 这种答案绝对不应该被删除,即使没有给出描述这个答案对许多不了解 SignalR 的人(比如我自己)很有帮助
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2017-08-26
    • 2012-08-01
    • 1970-01-01
    相关资源
    最近更新 更多