【问题标题】:Android Application listens to TCP portAndroid 应用程序监听 TCP 端口
【发布时间】:2017-07-26 01:54:02
【问题描述】:

我已经弄清楚如何检查我的服务器中的端口是否打开。

但是,我面临一个问题,即如何检查侦听特定端口的其他设备的数量。

我的申请流程是:

首先,我的应用程序会检查我的服务器端口是否打开。

其次,如果端口是开放的,则需要检查监听该TCP端口的设备数量。

第三,如果端口达到特定数量,假设有 20 个设备监听 TCP 端口,我需要应用程序监听以下端口以了解端口可用性。

有人可以告诉我这个案例吗?

【问题讨论】:

  • 只有服务器监听 TCP。你的意思是“连接”吗?为什么限制为 20?和新港口?
  • 嗨 EJP,我有大约 3000 台设备将连接到端口,限制 20 只是限制端口中特定设备数量的示例。我试图通过为设备提供多个端口来避免拥塞或不良流量。
  • 拥有大量连接到单个 TCP 端口不会导致拥塞或“不良流量”,而使用多个您可以使用的服务器端口只会浪费服务器资源。不清楚你在问什么。
  • 因为每个设备都会每隔 5 秒向端口发送一次数据。
  • 所以?使用多个端口在任何形式或形式上都无济于事。

标签: java android server tcp-port


【解决方案1】:

我已经知道如何检查端口是否在我的服务器中打开。

这从来没有任何神秘之处。只需尝试连接到它。

但是,我面临一个问题,即如何检查其他设备的数量正在侦听特定端口。

服务器正在监听端口。设备已连接到它。

我的申请流程是这样的,

首先,我的应用程序会检查我的服务器端口是否打开。

换句话说,您的应用程序连接到端口。

其次,如果端口是开放的,则需要检查监听该TCP端口的设备数量。

为什么?

第三,如果端口达到特定数量,假设有 20 个设备监听 TCP 端口,我需要应用程序监听以下端口以确保端口可用性。

为什么?

我有大约 3000 台设备将连接到端口,限制 20 台只是限制端口中特定设备数量的示例。

没有“限制端口中的特定设备数量”之类的东西。您可以有数千个同时连接到同一个 TCP 端口。 Web 服务器每天 24 小时都在执行此操作。

我试图通过为设备提供多个端口来避免拥塞或不良流量。

使用单个端口不会导致拥塞或“不良流量”,而使用多个本来可以使用一个端口的端口只会浪费服务器上的资源。

这没有任何意义。这是基于对 TCP 的严重误解。

【讨论】:

  • 我知道你的意思,它甚至可以在一个端口中监听数千个设备。但是我的程序是窗口服务程序,它每 5 秒侦听一次端口并将数据保存到数据库。如果我只使用一个端口,我担心它会拥塞。您是否创建了一个可以处理数千台设备并毫无问题地保存到数据库的程序?
  • 我只能重复我已经说过的话。你对 TCP 有一个严重的误解。与单个端口有大量连接不会导致拥塞。无论是到一个端口的 1000 个连接还是到 1000 个端口的 1000 个连接,网络流量都是完全相同的。我还要重申,Web 服务器每天 24 小时都在做这件事。例如,数千个到 stackoverflow.com 端口 443 的并发连接。当你的意思是“连接”或“接收”时,请停止说“倾听”。不要滥用标准术语。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-02
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多