这非常简单。我有一个WebSocketServer项目,如果uri是http://localhost:8081/
,但是如果我使用本地IP而不是localhost http://10.0.0.201:8081/
,它会很好用,但它拒绝回复该IP上的请求。我确定它是一个权限问题或无法访问端口问题,但坦率地说,我没有收到任何错误。它只是没有回应。任何人都可以对此有所了解吗?这一切都在c#中。
这又是一个服务器。它应该在10.0.0.201上听到(当然,还有localhost)。 Localhost有效,但IP不是来自任何客户端。
我故意不发布代码(尽管我可以,如果有必要),因为这是一个支持多个并发客户端的多线程应用程序。它通过localhost完美运行。我只是将“localhost”改为机器的IP。失败感觉就像绑定或权限问题。
答案 0 :(得分:0)
这可能是由于您的网络服务器(例如IIS)中的Http Binding,绑定可能明确要求localhost
,如果URI没有localhost
,那么它将拒绝此连接。
尝试将绑定更改为空主机名,并且应允许URI。
答案 1 :(得分:0)
这是一个建议,而不是答案。您是否尝试过从其他计算机上访问WebServer?即使它只是一个静态测试页面? 它可能是一个perms问题,但这至少会告诉你本地网络上的任何一台机器是否可以使用IP /端口配置到达它。
答案 2 :(得分:0)
尝试绑定到*
如果使用HttpListener
,请尝试以下操作:
httpListener = new HttpListener();
httpListener.Prefixes.Add("http://*/");
而不是
httpListener.Prefixes.Add("http://localhost/");
httpListener.Prefixes.Add("http://10.0.0.201/");
绑定到localhost不会绑定到所有其他地方,例如,绑定到特定IP地址将无法与localhost或IPv6一起使用。