【问题标题】:WebSockets with Android: where's the URL?带有 Android 的 WebSockets:URL 在哪里?
【发布时间】:2013-10-26 15:32:17
【问题描述】:

我目前正在开发一款适用于 Android 的聊天应用,我知道它需要一个中间服务器作为客户端之间的联系点。我也知道 XMPP 是一个久经考验的解决方案,但是我主要是 C# 开发人员,我想把时间花在 WebSockets 上,因为从我读到的内容来看,我相信它既 fast轻量级,虽然它需要某种形式的握手。

所以现在我已经下载了WebSocket4Net(这是来自SuperWebSocket 的一个分支?)。我能够创建一个带有各种本地 URL 的 WebSocket 对象,并且我知道 Autobahn 是适用于 Android 的可行 WebSockets 客户端库。然而,我不明白的是,我将如何让我的 Android 客户端连接到 Web 服务器(没有 LAN 连接,而是通过 Internet)。

现在我认为一个可能的解决方案是公开一个 WCF 端点,然后它可以很好地与WebSocket 配合使用,但这又会增加往返时间,首先破坏了 WebSockets 实现的目的。 ..(轻量级!)我还不如只使用 WCF 服务作为联系点。

然后我的问题是:我的 Android 客户端将与之交互的 URL 是什么?

【问题讨论】:

    标签: c# android websocket xmpp chat


    【解决方案1】:

    马特,

    1. 创建一个 C# 控制台应用程序,使用 WebSocket4Net 监听特定端口(例如 8000)。

    2. 然后将此应用程序部署到分配有静态 IP 或域名(例如 example.com)的服务器上。

    3. 现在在 android 应用程序中,您使用 Autobahn 连接到此 ip 或域地址。即网址将是 ws://example.com:8000

    我希望这就是你要找的。​​p>

    【讨论】:

    • 嗯。所以在我的应用程序服务器上,我用这条线this.webSocket = new WebSocket("ws://localhost:13370/"); 启动WebSocket?但我似乎无法从我的客户(或websocket.org/echo.html,事实上)连接...
    • 你的服务器 IP 地址是什么?它是一个静态 IP,因此互联网上的任何人都可以访问它。
    【解决方案2】:

    我的错,WebSocket4Net 不是 SuperWebSocket 的一个分支,而是一个 WebSocket 客户端,所以它与我所寻找的完全不同。无论如何感谢@VinZ 的回答,我期待得到这个问题的解决方案:Alchemy Websockets: Can't host server on Azure

    这真的很麻烦,因为我的 Websocket 服务器在本地工作,但不在 Azure 上!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多