【问题标题】:Create a socket that the mobile client can listen on to get notifications创建移动客户端可以侦听以获取通知的套接字
【发布时间】:2013-01-11 06:47:41
【问题描述】:

我有一个客户端移动应用程序需要监听来自服务器的更新。但是服务器一次只将消息发送给一个客户端(它不是广播)。如何跟踪将消息发送给谁,并使用套接字发送? 移动应用应该是套接字的服务器,还是 asp.net 服务器?

【问题讨论】:

  • 您的客户端应用程序的主机是否有可访问的 addr:port 组合?我担心大多数情况下他们没有,并且可能在 NAT、限制性防火墙或类似的后面。通常的解决方案是在服务器上侦听,从客户端连接,保持连接处于活动状态(服务器上的活动连接列表),然后在发生某些事情时循环列表。这是快速的,不是非常可扩展的,并且与 ASP 无关。如果这不符合您的要求,请澄清和/或详细说明。

标签: c# .net sockets


【解决方案1】:

移动应用应该是客户端。它应该具有唯一的 ID(GUID 效果很好)。服务器接受来自移动应用程序的连接。然后移动应用程序发送其唯一 ID,服务器创建一个存储套接字和唯一 ID 的对象。如果有 10 个客户端连接,则存储 10 个套接字,每个套接字都有自己的唯一 ID。

现在服务器有更新要推送:

循环遍历您的对象,将数据通过每个套接字发送到移动应用程序。

p.s 我不认为 asp.net 会为此工作。但您可以轻松编写 C# .NET 应用程序。

编辑:

此外,如果您要在 C# .NET 应用程序中自托管 WCF 服务,那么您可以从 ASP.NET Web 应用程序使用该服务。然后,这将允许您将数据从 Web 应用程序发送到 C# 应用程序,并且 C# 应用程序可以将该数据向下传递到套接字,或者触发 c# 应用程序将某些数据沿着套接字发送到移动应用程序。

【讨论】:

    猜你喜欢
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 2021-01-31
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多