检查UDP端口是否被阻止 [英] Checking if a UDP port is blocked

查看:952
本文介绍了检查UDP端口是否被阻止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

VS 2008 SP1 C#

我正在使用下面的代码。我已经检查了URL和端口类的文档
,但是可以看到任何检查
以查看端口是否被使用的内容。所以使用下面的代码。这可以
工作,我想知道是否有更好的方法来做到这一点。请感受
免费评论。

Hello,

VS 2008 SP1 C#

I am using the code below. I have checked documentation for the URL and Port classes, but could see anything that would check to see if the port is being used. So using the code below. This does work, I am wondering if there is a better way to do this. Please feel free to comment.

private bool IsPortAvailable()
{
System.Net.Sockets.Socket sock = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,System.Net.Sockets.SocketType.Dgram,System.Net.Sockets.ProtocolType.Udp);
bool < font style ="font-size:11px"> available = false ;
sock.Connect(VaxSIPUserAgentOCX.GetMyIP(),5060);
if (sock.Connected)
{
//端口可用
available = true ;
}
< font style ="color:blue"> else
{
//端口被阻止
available = false ;
}
< font style ="color:blue"> return available;
}
private bool IsPortAvailable()  
        {  
            System.Net.Sockets.Socket sock = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Dgram, System.Net.Sockets.ProtocolType.Udp);  
            bool available = false;   
            sock.Connect(VaxSIPUserAgentOCX.GetMyIP(), 5060);  
  
            if (sock.Connected)  
            {  
                //Port is available  
                available = true;  
            }  
            else  
            {  
                //Port is blocked  
                available = false;  
            }  
            return available;  
        }  

推荐答案

嘿,我不确定,但无法使用无状态的UDP协议,不能"使用"通过应用程序打开连接。你想要的不是打开一个连接,而是保留一个接收数据报的本地端口。

我可以尝试一种听起来更像的方法。听
但是我不确定这一点:从未在.NET中使用UDP。
Hey, I am not sure, but the UDP prodocol, being stateless, can not be "used" by an application opening a connection. What you want is not open a connection but reserve a local port for receiving datagrams.

I may try a method that sounds more like .Listen.
However I am not sure about this: never used UDP in .NET.


这篇关于检查UDP端口是否被阻止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆