首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grapevine REST服务器,我无法从具有IP或主机名的其他PC访问

Grapevine REST服务器,我无法从具有IP或主机名的其他PC访问
EN

Stack Overflow用户
提问于 2015-10-07 18:35:41
回答 1查看 993关注 0票数 1

我使用的是VS2012和GRAPVEN3.0.4,当我使用带有本地主机名的Grapevine同一台机器时,一切都运行得很好。如果我想从带有客户端其他PC访问,服务器无法开始使用主机名ip地址或计算机名进行侦听

如果我尝试服务器pc将主机名设置为localhost,它将开始侦听,但当从具有IP或名称服务器其它PC到达时,返回错误请求400

是不是我的代码或库出了问题。

我的服务器代码是

代码语言:javascript
复制
public class embeddedHTTP
{
    private RESTServer Server;

    public void ServerStart()
    {
        try
        {
            Server = new RESTServer();
            Server.Port =  GlobalVars.HttpHostPort;
            Server.Host = GlobalVars.HttpHostAdress; // THIS ONLY WORKS FOR LOCALHOST
            Server.MaxThreads = 20;
            Server.Start();

            while (Server.IsListening)
            {
                Thread.Sleep(GlobalVars.HttpHostRespTime);
            }
        }
        catch (Exception ex)
        {
            messenger.logque("embedded HTTP server not started, Error ID : 52", 3, null);
        }
    }

    public void ServerStop()
    {
        Server.Stop();
    }

    public sealed class MyResource : RESTResource
    {    
        //d+$^  [a-zA-Z]+
        [RESTRoute(Method = Grapevine.HttpMethod.GET, PathInfo = @"/")] 
        public void HandleFooRequests(HttpListenerContext context)
        {    
            //String RawuR = context.Request.RawUrl;
            String URL = Convert.ToString(context.Request.Url);
            String ResultXML = brain.HTTPCMD(URL);          
            this.SendTextResponse(context, ResultXML);    
        }    
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-06-02 00:09:26

如果您无法从远程计算机访问服务器,则可能是您正在运行防火墙,该防火墙正在阻止到您正在侦听的端口的入站通信。试着在你的防火墙上打开这个端口,看看它对你是否有效。

How to Open a Port in the Windows 7 Firewall

此外,您还可以通过使用星号(*)作为主机名来监听所有主机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32989988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档