无法从同一网络上的另一台计算机连接到Grapevine

时间:2016-05-23 04:33:07

标签: c# rest grapevine

我在VS2013中使用Grapevine 3.1.0。该项目称为ConsoleApplication1。

在我的主机上启动服务器后,我可以从localhost:1234127.0.0.1:1234192.168.1.2:1234(本机的本地IP地址)本地访问它。但是,即使在端口转发后,我也无法从任何机器连接到我的外部IP。此外,我无法从另一台机器连接本地IP地址,只能从主机连接。

我甚至为该程序制定了Windows防火墙规则,但无济于事。

以下代码适用于服务器部分。尝试连接是使用Firefox进行的。

//Program.cs
using System;
using System.Net;
using Grapevine.Server;

class Program
{
    static void Main(string[] args)
    {
        var server = new RESTServer(host: "*");
        server.Start();
        Console.ReadLine();
        server.Stop();
    }
}

public sealed class TestResource : RESTResource
{
    [RESTRoute]
    public void HandleAllGetRequests(HttpListenerContext context)
    {
        SendTextResponse(context, "GET is a success!");
    }
}

netstat -a报告服务器正在侦听。尝试从同一网络上的另一台计算机进行连接时,我收到来自Firefox的超时消息。用Fiddler查看主机和其他机器,我可以看出主机在尝试建立连接后从未收到过任何形式的消息。

我确保我在管理员模式下运行该程序,但如果我不这样做,它会抛出异常。

我在Windows 8.1和Windows 7上测试了服务器。

为了成功运行Grapevine,我还需要执行哪些其他步骤?

1 个答案:

答案 0 :(得分:0)

  

我甚至为程序制作了Windows防火墙规则

您是否为端口制定了Windows防火墙规则?如果没有,try this first。您可能需要将网址添加到运行的计算机上的ACL,您可以通过以管理员身份打开终端来运行:

netsh http add urlacl url=http://*:1234/ user=Everyone