【发布时间】:2016-01-04 13:15:47
【问题描述】:
我使用的是 VS2012 和 Grapevine 3.0.4,当我使用带有 localhost 的 Grapevine 同一台机器时 主机名,一切正常。 如果我想通过客户端从其他 PC 访问,服务器无法使用主机名 ip 地址或计算机名开始侦听
如果我尝试 server pc set hostname to localhost ,它会开始侦听,但是当从其他具有 IP 或名称服务器的 PC 到达时返回错误请求 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);
}
}
}
【问题讨论】:
-
更正:VS2015社区版
标签: c# rest http server grapevine