C# 使用httpListener创建URL作为我的IP地址的自定义网站
我想创建一个网址为我的IP地址的网站 该网站会向任何访问我的URL的用户发送一条“你好”的信息 我使用下面的代码来做这件事![这只是一个没有线程的基本代码]C# 使用httpListener创建URL作为我的IP地址的自定义网站,c#,asp.net,httplistener,system.net,C#,Asp.net,Httplistener,System.net,我想创建一个网址为我的IP地址的网站 该网站会向任何访问我的URL的用户发送一条“你好”的信息 我使用下面的代码来做这件事![这只是一个没有线程的基本代码] class listenToHTTP { HttpListener _listner; public void start() { _listner = new HttpListener(); _listner.Prefixes.Add("http://localhost/");//d
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);
}
}
}
问题是我不知道任何人都可以访问的IP地址
当我使用http://localhost/作为URL
但是其他人会使用什么IP地址来访问我的简单网站呢
我在浏览器中尝试了我的IP地址,但它不起作用。执行此操作时需要注意两件事
- 如果您侦听localhost地址,则只有localhost能够连接到您的HttpListener。您需要添加前缀
(其中192.X.X.X当然是您的本地IP)并听一听。这可能(取决于您的操作系统)要求您以管理员身份运行,至少如果您希望在<1024的端口上运行。您可以通过从本地计算机而不是本地主机地址连接到您的IP来测试这是否有效http://192.X.X.X/
- 如果您正在运行Windows,防火墙可能会妨碍您。如果是这样(即您可以从本地计算机连接到您的IP,但其他任何设备都无法连接),则需要手动打开端口。在谷歌上有很多关于如何做到这一点的指南
- 您需要公开上述IP地址,以使其他人可以访问URL
- 如果仅向您的域公开URL(即,如果是Intranet),请与系统管理员联系,在Intranet上配置IP地址
- Localhost设置可访问性仅限于您的计算机
- 确保检查防火墙约束以实现第1点或第2点的URL可访问性 有关更多信息,请查看HTTPListener的参考资料
- @Joachim的回复已经足够好了。我想补充一点
问题是我指的是一个
专用网络
地址,该地址是本地
到网络
,并且在专用网络
之外的任何人都无法访问
这些是专用网络中使用的ip地址范围,因此具有此地址的系统不能作为服务器或网站主机
10.0.0.0 to 10.255.255.255
172.16.0.0 to 172.31.255.255
192.168.0.0 to 192.168.255.255
你应该使用公共广播。@Anirudha你能展示一下你的代码吗?您需要添加两个单独的前缀,一个用于localhost(如果您想听的话),另一个用于182.X.X.X。您只能添加实际分配给您的计算机的地址,例如,如果您的计算机有192.x.x.x地址,并且位于ip为182.x.x.x的端口转发代理之后,您不能将182.x.x地址添加为要侦听的前缀。@Anirudha另一个提示,您可以添加前缀http://+:80
,一次侦听分配给计算机的所有地址的端口80。实际上,我使用了hp://182.X.X.X/localhost/,而不是hp://localhost/,但仍然没有结果@Anirudha您应该只使用http://182.x.x.x:80
,没有本地主机。或者,使用http://+:80
自动使用机器拥有的任何IP地址。我有一家私人公司的brodband..是代理服务器的IP地址!您需要一个其他人可以访问的IP地址(公开)。这样你就可以在那里托管你的应用程序。。