我想创建一个网址,其网址为 IP地址 [例如:192.X.X.X]
该网站会向访问我网址的任何用户回复“ 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);
}
}
}
问题是我不知道任何人都可以访问的 IP地址。
当我使用 http:// localhost / 作为网址时,它会完美地显示响应“HELLO THERE”。
但是其他人使用的是什么 IP地址,以便他们可以访问我的简单网站。
我在浏览器中尝试了我的IP地址,但它无法正常工作 。
答案 0 :(得分:4)
这样做有两点需要注意;
如果您收听本地主机地址,则只有localhost可以连接到您的HttpListener。您需要添加http://192.X.X.X/
的前缀(当然192.X.X.X是您的本地IP)并听取它。这可能(取决于您的操作系统)要求您以管理员身份运行,至少如果您想在端口上执行此操作< 1024.您可以通过从本地计算机而不是本地主机地址连接到IP#来测试它是否有效。
如果您运行的是Windows,防火墙可能会受阻。如果它似乎(即您可以从本地计算机连接到您的IP#但没有其他任何东西可以连接),您将需要手动打开端口。如何在Google上执行此操作有很多指南。
答案 1 :(得分:1)
@Joachim回复已经足够好了。我想补充一点......
有关详细信息,请查看 HTTPListener
的参考答案 2 :(得分:0)
问题在于我指的是private network
local
network
地址private network
,而 之外的任何人都无法访问ip-address
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
}} ..
这些是专用网络中使用的{{1}}范围,因此具有此地址的系统不能是服务器或托管网站..
{{1}}
您应该使用公共地址..