TcpListener端口:在其他端口上创建套接字

时间:2018-10-25 17:32:18

标签: sockets port tcplistener

我基本上正在执行以下代码:

int port = 5555; //just an example
IPEndPoint ep = new IPEndPoint(IPAddress.Any,port);
var l = new TcpListener(ep);
l.Start();
l.BeginAccept(AcceptHandler,l);

它可以工作(当然),但是在一台特定的机器上,服务器套接字是在另一个端口上打开的!总是!

此外,我可以在相同的端口上多次运行上述命令:每次我都获得一个不同的端口。

这些机器是Windows 2016 Citrix机器;防火墙由Symantec处理。我没有足够的权限来获取更多详细信息。

我认为上述行为来自某些安全软件-有点整洁,但对我而言却很烦人。请注意,我可以找到我实际获得的端口,但是要查询:

int actualPort = ((IPEndPoint)listener.Server.LocalEndPoint).Port;

我联系了管理机器的IT团队,他们说这很正常,因为它是一个“多用户”系统,我应该在Wikipedia上阅读有关临时端口的信息……基本上我应该使用临时端口?

这听起来对我来说是很多学士学位。无论如何,无论我要什么,我都会有所不同。。。

我已经做了一段时间的winsock编程。这对我来说是新的体验。

据我所知,我一直以为为特定端口打开服务器套接字时,会得到您要的(或失败)。

有人经历过以上吗?是否指向某些Windows安全设置或其他执行此操作的软件的指针?

谢谢!

0 个答案:

没有答案