在opensuse和CentOS中无法远程访问Mono HTTPListener

时间:2013-03-03 12:43:41

标签: c# ubuntu mono centos httplistener

我正在使用vmware测试linux版本。

我从here

运行一个简单的示例
    // This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(string[] prefixes)
{
    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes.
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    Console.WriteLine("Listening...");
    // Note: The GetContext method blocks while waiting for a request. 
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length;
    System.IO.Stream output = response.OutputStream;
    output.Write(buffer,0,buffer.Length);
    // You must close the output stream.
    output.Close();
    listener.Stop();
}

prefixeshttp://192.168.10.132:8080/

它在ubuntu中可以在guest虚拟机本地工作,也可以在远程主机中工作。

它也可以在openue和CentOS的本地访问,但是在长时间等待,没有响应,然后超时之后,它无法在主机中打开。

1 个答案:

答案 0 :(得分:0)

我想通了,这是因为默认情况下启用了防火墙。我需要允许我使用的端口。