- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
据我所知,(单一通用)网络服务器使用端口(与任何其他 tcp/upd 应用程序一样)来识别用户/进程。由于端口是一个 16 位无符号整数,因此范围从 0 到 65535。当服务器达到其限制时如何操作?
高级样本
服务器 1 通过 8080 应答! client1 连接到 server1(现在它们通过随机端口连接:(但唯一)server1:5123 <--> client1:6123)
另一个 client2 连接到 server1 ( server1:5124 <--> client2:7123 )
所以,问题是:对于给定的实例,服务器是否受 65535(实际上小于该值)的限制?
最佳答案
在最简单的情况下,网络服务器只使用服务器系统上的一个 TCP 端口(通常是端口 80)。所有与网络服务器的连接都通过该单一端口处理。其他 65534 个端口仍可用于其他用途。
之所以可行,是因为 TCP 连接不仅由服务器上的端口号标识,而且由(服务器 IP、服务器 TCP 端口、客户端 IP、客户端 TCP 端口) 的组合标识。因此服务器可以在其端口 80 上拥有大量并发 TCP 连接,使用其他三项来识别流量属于哪个连接。如果服务器只有一个 IP 地址,因此 (server IP, server port) 部分在与网络服务器的所有连接上都是相同的,各个连接仍然可以通过 (client IP、客户端端口) 部分组合。
如果您在繁忙的 Unix 网络服务器上运行 netstat -a
命令,您将看到它的实际效果。该命令将显示服务器端口 80 上的一堆连接,但所有连接都具有不同的客户端 IP 和/或端口。它还将显示系统仍在监听端口 80 上的新连接,同时它正在处理该端口上的所有现有连接。
与网络服务器的连接总数可能受到某些其他约束(可能是内存使用,可能是网络服务器本身或操作系统内核中的某些任意限制)或某些外部约束(可能是外部防火墙中的连接表大小)的限制或网关),但不受 16 位 TCP 端口范围的限制。
另请注意,TCP 端口与 UDP 端口完全分开,因此将 TCP 端口 80 用于网络服务器不会阻止 UDP 端口 80 用于其他目的。反之亦然。
关于http - 服务器如何使用有限数量的端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10962818/
我有一个关于复杂性的简单问题。我在 Java 中有这段代码: pairs是 HashMap包含 Integer作为键,它的频率为 Collection作为一个值。所以: pairs = new Has
对于我的应用程序,我需要在 Coq 中使用和推理有限映射。谷歌搜索我发现 FMapAVL 似乎非常适合我的需求。问题是文档很少,我还没有弄清楚我应该如何使用它。 作为一个简单的例子,考虑以下使用对列表
我有一个主表tblAssetMaster A和一个移动表tblMovement M。 我想提取所有 Assets 及其当前位置,因此需要获取每个 Assets 的最新移动条目。 字段 A: Asset
我想让我的网站内容居中,但仅限于网页的特定宽度。所以当它超过 500px 时,我希望内容被修复,无法进一步拉伸(stretch)。无论如何都要这样做,还是我最好把所有东西都修好?希望有意义的是添加一些
我正在尝试批量删除 Backbone 模型的集合,如下所示...... collection.each(function(model, i){ model.destroy(); }); 我发现当每
我想要一个软件环境,在其中我可以在具有特定资源的硬件上测试我的软件的速度。例如,当我的主机硬件是具有 12GB RAM 的 3GHz 四核 amd64 时,该程序在具有 24 Mb RAM 的 800
在 Eclipse 中,我得到了 BigInteger.valueOf(2).pow(31093) 的值,但没有得到 BigInteger.valueOf(2).pow(31094) 的值(它是空的)
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我想将 2 个表从本地 sql server 2000 上传到托管的 mysql。第一个表有 17 列和 680 行,其他 10 列和 8071 行。 我首先使用 xampp mysql 尝试离线,它
我在 S3 中自动生成并保存了静态 html 文件。有时文件大小达到 2mb。是否可以使用javascript来获取html文件的一部分,显示它,当用户到达页面底部时,获取下一部分等等? 最佳答案 X
我是一名优秀的程序员,十分优秀!