建一个Socket,指定url,端口,协议,然后connect一下,
如果成功,就能够连通吧。具体的也不清楚。

解决方案 »

  1.   

    在论坛出错以前,有位兄弟给我贴了下面的函数.在编译的时候没法识别cookieHeader,HttpUtility等.我添加了System.Net;System.Net.Sockets;System.Web;等命名控件.但还是没解决问题
    可以论坛出错后,我以前发的帖子也找不到了.我也不清楚这函数是哪位兄弟给的了.呵呵public static string getPage(String url, String paramList) 
    {
    HttpWebResponse res = null;
    string strResult = ""; try 
    {
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.Method = "POST";
    req.KeepAlive = true;
    req.ContentType = "application/x-www-form-urlencoded";
    CookieContainer cookieCon = new CookieContainer();
    req.CookieContainer = cookieCon;
    req.CookieContainer.SetCookies(new Uri(url),cookieHeader);
    StringBuilder UrlEncoded = new StringBuilder();
    Char[] reserved = {'?', '=', '&'};
    byte[] SomeBytes = null; if (paramList != null) 
    {
    int i=0, j;
    while(i<paramList.Length)
    {
    j=paramList.IndexOfAny(reserved, i);
    if (j==-1)
    {
    UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, paramList.Length-i)));
    break;
    }
    UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, j-i)));
    UrlEncoded.Append(paramList.Substring(j,1));
    i = j+1;
    }
    SomeBytes = Encoding.UTF8.GetBytes(UrlEncoded.ToString());
    req.ContentLength = SomeBytes.Length;
    Stream newStream = req.GetRequestStream();
    newStream.Write(SomeBytes, 0, SomeBytes.Length);
    newStream.Close();

    else 
    {
    req.ContentLength = 0;
    } res = (HttpWebResponse)req.GetResponse();
    Stream ReceiveStream = res.GetResponseStream();
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
    StreamReader sr = new StreamReader( ReceiveStream, encode );
    Char[] read = new Char[256];
    int count = sr.Read( read, 0, 256 );
    while (count > 0) 
    {
    String str = new String(read, 0, count);
    strResult += str;
    count = sr.Read(read, 0, 256);
    }

    catch(Exception e) 
    {
    strResult = e.ToString();

    finally 
    {
    if ( res != null ) 
    {
    res.Close();
    }
    } return strResult;
    }
      

  2.   

    我个人的想法   用代码 connect一下 如果可以的话 应该有返回 如果没有返回 那就表示连不上  当然要用TCP  如果用UDP的是话是不判断连上与否的