2013-05-07 117 views
0

我正在Linux上使用MonoDevelop开发端口打开应用程序。 服务器应用程序使用iptables来开启/关闭某些端口命令:在Linux上使用Mono打开端口

iptables -A INPUT -j DROP 

它的成功运用一定的规则,如:

iptables -A INPUT -p udp --dport 606:610 -j LOG 

然后我创建了UdpClient的客户端应用程序发送敲门要求

private static UdpClient udp; 

public static void sendmessage (string message, string host, short port) 
     { 
      try 
      { 
       IPAddress ip=IPAddress.Parse(host); 
       if(udp==null) 
        udp=new UdpClient(); 

       byte[] b=ASCIIEncoding.ASCII.GetBytes(message); 
      udp.Send(b,b.Length,new IPEndPoint(ip,port));    
     } 

     catch (Exception exc) 
     { 
      throw exc; 
     } 
    } 

但是,这个客户端应用程序崩溃,似乎是当服务器关闭每个端口时引发异常。

有没有解决方案发送数据包,不关心服务器是否关闭/打开某些端口?

回答

0

尝试设置超时时间低并忽略异常而不是抛出它