gpt4 book ai didi

.net - 如何找到 .Net Remoting 分配的端口号?

转载 作者:行者123 更新时间:2023-12-01 12:01:58 24 4
gpt4 key购买 nike

如果我使用端口零创建一个 TcpChannel,即允许 .Net Remoting 分配一个可用端口,是否可以确定分配了哪个端口号?

我知道我可以在创建 channel 时指定端口号,但是我不想这样做,因为我想在同一个 Citrix 服务器上运行监听应用程序的多个实例——每个实例监听不同的端口.

理想情况下,我不想麻烦地保留一堆端口,然后跟踪哪些已分配。我只想让端口自动分配 - 但我需要能够知道分配了哪个端口号。

最佳答案

我对此了解不多,但在 MSDN 上浏览它指出零使用后返回一个 TcpServerChannel,而一个 TcpServerChannel 有一个 GetChannelUri( ) 方法;那包括端口号吗? (您可能需要通过 new Uri(s).Port 进行解析)。

再次,完成猜测。如果没有,就说;-p

由 AakashM 编辑以添加 这是正确的方法。正在关注

var channel = new TcpChannel(0);

包含的服务器 channel 的动态分配的帖子可以用

var channelData = (ChannelDataStore)channel.ChannelData;
var port = new System.Uri(channelData.ChannelUris[0]).Port;

丑陋的转换是必要的,因为 TcpChannel.ChannelData 属性被键入为 object...

关于.net - 如何找到 .Net Remoting 分配的端口号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/412305/

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