葡萄藤REST服务器,我无法从其他PC与IP或主机名

本文关键字:PC IP 主机 其他 服务器 REST 葡萄藤 | 更新日期: 2023-09-27 18:16:44

我正在使用VS2012和Grapevine 3.0.4,当我使用与localhost相同的Grapevine机器时主机名,一切正常。如果我想通过客户端从其他PC到达,服务器无法开始监听主机名ip地址或计算机名

如果我尝试服务器pc设置主机名为本地主机,它开始侦听,但当从其他pc与IP或名称服务器到达时返回错误的请求400

是我的代码或库有问题吗?

我的服务器代码是

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);    
        }    
    }
}

葡萄藤REST服务器,我无法从其他PC与IP或主机名

如果您无法从远程机器到达服务器,那么您可能正在运行防火墙,该防火墙正在阻止到您正在侦听的端口的入站通信。试着打开防火墙的端口,看看是否可以。

如何在Windows 7防火墙中打开端口

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