gpt4 book ai didi

c# - 尝试预测 .NET TcpClient.GetStream() 关于多线程环境中临时端口使用的行为

转载 作者:行者123 更新时间:2023-11-30 16:33:27 25 4
gpt4 key购买 nike

我想知道有没有人有这方面的经验......

我正在对当前串行进程进行多线程处理,该进程通过 .NET TCPClient 向远程服务器发出请求。

我们知道通过多个线程连接到同一端口上的远程服务器,因为我们有多个串行处理应用程序实例正在运行连接到同一端口上的远程服务器。

但是,我不确定如果我在同一个应用程序中使用多个线程发出多个 TCPClient.GetStream() 请求会发生什么 - 关于本地临时(短期)端口。

如果远程服务器知道它必须将响应发送回发起请求的临时端口,是否可以保证每个线程将使用不同的临时端口来处理请求 - 或者是否有机会使用同一个端口?

就上下文而言,这是一个卡片处理应用程序。

希望这是有道理的。

最佳答案

您不必担心这一点,除非您建立了太多的连接以致端口饥饿。与套接字相关的 API 抽象出临时端口的问题,您无需关心这些问题(无论线程/进程如何),除非您有成千上万的连接不够快。根据我的经验,只有蜘蛛会遇到这类问题。在这种情况下,如果所有连接都来自一个进程,那么管理起来会容易得多。

在较新的 Windows 上,端口范围是 49152-65535(或约 16k 个并发连接),在较早的 Windows 上,端口范围要小得多。

关于c# - 尝试预测 .NET TcpClient.GetStream() 关于多线程环境中临时端口使用的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3202398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com