首先,在同一台服务器上同时使用UDP和TCP有什么问题吗?
其次,我可以使用相同的端口号吗?
在.Net中找到下一个TCP端口,说明如何在原始.net中执行此操作,但不知道如何使用WCF安全地执行此操作.
在我的单元测试中,我需要使用NetTcpBinding,我不希望硬编码它正在使用的端口.
因此,如何在我的ServiceHost中使用NetTcpBinding时自动选择一个空闲端口?
我怎样才能告诉我它选择的端口(或完整端点地址)?
或者我如何使用.NET找到一些对服务器有效的端口?
鉴于我的赏金没有带来任何新答案,我认为我们可以假设没有好的答案.
我正在编写一个FTP服务器库(因为我需要它,我找不到任何好的解决方案)在C#中我有两个问题:
例如,IPEndPoint当我这样做时new IPEndPoint(IPAddress.Any, 0),如何找到一个免费端口?
是否有可能找到从一系列自由港(例如,从1023到65535),没有的GetActiveTcpConnections方法是什么?因为它很慢 - 我需要一种更快的方法来做到这一点.
我有一个net.tcp WCF服务,我希望操作系统选择它应该监听的端口.所以我在我的URI中将端口设置为0,并netstat确认操作系统已经选择了5000范围内的端口.
如何在服务流程中找到代码中已选择的实际端口?
一些代码显示我尝试过的内容:
Type serviceType = ...;
Uri address = new Uri("net.tcp://0.0.0.0:0/Service/");
ServiceHost serviceHost = new ServiceHost(serviceType, address);
ServiceEndpoint endPoint = serviceHost.AddServiceEndpoint(type, binding, "");
int port1 = endPoint.ListenUri.Port; // returns 0
int port2 = serviceHost.BaseAddresses.First().Port; // also returns 0
Run Code Online (Sandbox Code Playgroud) 我正在使用REST API服务运行一些集成测试.
问题是,有时硬编码端口在下次测试开始时不是空闲的.因为它是由先前的测试打开的,并且尚未被系统关闭.
我使用OWIN,应用程序在下一次测试开始时关闭.
你能否建议我一个很好的方法来确定系统上的自由端口,而无需提前打开并关闭它?或者说这是不可能的.
因为系统尚未释放它,就像它已经发生的那样.