C# 专用网络端口
如何确保我的计算机上的特定端口不会被用于 C# 中我需要的服务之外的任何其他目的?
在我的局域网信使模拟程序中,当我尝试连接到远程主机时,出现连接拒绝错误。因此,我需要以某种方式确保该端口不被用于任何其他目的。
How do I ensure that a particular port on my computer is not being used for any other purpose other than the service I need in C#??
In my program for a simulation of a lan-messenger, I am getting a connection refused error when trying to connect to a remote host.Hence I need to somehow ensure that the port isn't being used for any other purpose.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这将为您提供本地计算机上的第一个可用端口。
http://msdn.microsoft.com/en-我们/library/system.net.sockets.tcplistener.aspx
This will give you the first available port on local machine.
http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx
打开一个 tcp-socket 监听它? 这会阻止其他人做同样的事情。
连接被拒绝听起来更像是防火墙问题。
Open a tcp-socket listen on it? That blocks anyone else from doing the same.
Connection refused sounds more like a firewall issue.
你不能保证这一点。 任何程序都可以注册以侦听任何端口,并且如果没有其他进程正在使用它,操作系统将允许它。
最好的选择是选择一个现在已知被任何服务使用的端口,并将其用作传入端口。 这里是知名端口的列表。
You can't ensure that. Any program can register to listen on any port, and the OS will allow it if no other process is using it.
Your best bet is to choose a port that is now known to be used by any service, and use that as your incoming port. Here's a list of well known ports.