gpt4 book ai didi

c# - HTTPListener 无法通过网络工作

转载 作者:太空狗 更新时间:2023-10-29 23:54:31 25 4
gpt4 key购买 nike

我尝试使用 System.Net.HTTPListener 创建一个简单的 HTTP 服务器,但它不接收来自网络中其他计算机的连接。示例代码:

class HTTPServer
{
private HttpListener listener;
public HTTPServer() { }
public bool Start()
{
listener = new HttpListener();
listener.Prefixes.Add("http://+:80/");
listener.Start();
listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
return true;
}
private static void ListenerCallback(IAsyncResult result)
{
HttpListener listener = (HttpListener)result.AsyncState;
listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
Console.WriteLine("New request.");

HttpListenerContext context = listener.EndGetContext(result);
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;

byte[] page = Encoding.UTF8.GetBytes("Test");

response.ContentLength64 = page.Length;
Stream output = response.OutputStream;
output.Write(page, 0, page.Length);
output.Close();
}
}
class Program
{
static void Main(string[] args)
{
HTTPServer test = new HTTPServer();
test.Start();
while (true) ;
}
}

是这段代码有问题,还是其他问题?

我试过以管理员权限运行该应用程序,但是当我在另一台计算机上浏览到该计算机的 IP 地址(即 192.168.1.100)时,我从未收到请求。如果请求是从运行应用程序的同一台计算机发送的(使用“localhost”、“127.0.0.1”和“192.168.1.100”),则服务器工作正常。 ping 工作正常。我也试过 nginx ,并且可以在网络上完美运行。

我使用 HTTPListener 作为轻量级服务器来传送带有 Silverlight XAP 文件的网页,其中包含一些动态初始化参数、clientaccesspolicy.xml 和一个简单的移动 HTML 页面。

最佳答案

防火墙

关于c# - HTTPListener 无法通过网络工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com