Ani*_*dha 2 c# asp.net system.net httplistener
我想创建一个以 URL 作为我的IP 地址的网站[例如:192.XXX]
该网站将向访问我的 URL 的任何用户响应一条“ HELLO THERE ”消息。
我使用以下代码来执行此操作![这只是一个没有线程的基本代码]
class listenToHTTP
{
HttpListener _listner;
public void start()
{
_listner = new HttpListener();
_listner.Prefixes.Add("http://localhost/");//default port 80
_listner.Start();
}
public void process()
{
while (true)
{
HttpListenerContext context = _listner.GetContext();
byte[] output = Encoding.ASCII.GetBytes("HELLO THERE");
context.Response.ContentEncoding = Encoding.ASCII;
context.Response.ContentLength64 = output.Length;
context.Response.OutputStream.Write(output, 0, output.Length);
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我不知道任何人都可以访问的IP地址。
当我使用http://localhost/作为 URL时,它完美地显示了响应“HELLO THERE” 。
但是其他人会使用什么IP 地址才能访问我的简单网站。
我在浏览器中尝试了我的 IP 地址,但不起作用。
这样做时需要注意两件事;
如果您监听本地主机地址,则只有本地主机才能连接到您的 HttpListener。您需要添加前缀http://192.X.X.X/(其中 192.XXX 当然是您的本地 IP)并收听。这可能(取决于您的操作系统)要求您以管理员身份运行,至少如果您想在 < 1024 端口上执行此操作。您可以通过从本地计算机而不是本地主机连接到您的 IP# 来测试这是否有效地址。
如果您运行的是 Windows,防火墙可能会妨碍您。如果看起来如此(即您可以从本地计算机连接到您的 IP#,但其他任何东西都无法连接),您将需要手动打开端口。Google 上有很多如何执行此操作的指南。
| 归档时间: |
|
| 查看次数: |
9285 次 |
| 最近记录: |