Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用IP连接到WebSocketServer(但本地主机正常)_C#_Asp.net_.net_Websocket - Fatal编程技术网

C# 无法使用IP连接到WebSocketServer(但本地主机正常)

C# 无法使用IP连接到WebSocketServer(但本地主机正常),c#,asp.net,.net,websocket,C#,Asp.net,.net,Websocket,这很简单。我有一个WebSocketServer项目,如果uri是http://localhost:8081/但是如果我使用本地IP而不是本地主机http://10.0.0.201:8081/,它拒绝回答该IP上的请求。我确信这是权限问题或无法访问端口问题,但坦率地说,我没有收到任何错误。它只是没有反应。有人能解释一下吗?这都是用c#表示的 这也是一个服务器。它应该在10.0.0.201(当然还有localhost)上监听。Localhost可以工作,但IP不来自任何客户端 我有意不发布代码(尽

这很简单。我有一个WebSocketServer项目,如果uri是
http://localhost:8081/
但是如果我使用本地IP而不是本地主机
http://10.0.0.201:8081/
,它拒绝回答该IP上的请求。我确信这是权限问题或无法访问端口问题,但坦率地说,我没有收到任何错误。它只是没有反应。有人能解释一下吗?这都是用c#表示的

这也是一个服务器。它应该在10.0.0.201(当然还有localhost)上监听。Localhost可以工作,但IP不来自任何客户端


我有意不发布代码(尽管必要时我可以发布),因为这是一个支持多个并发客户端的多线程应用程序。它通过localhost完美地工作。我只是将单词“localhost”更改为机器的IP。失败感觉像是绑定或权限问题。

这可能是由于Web服务器(例如IIS)中的Http绑定,绑定可能明确要求
localhost
,如果URI没有
localhost
,则会拒绝此连接


尝试将绑定更改为空主机名,并且应允许URI。

这是一个建议,而不是答案。您是否尝试过从其他机器访问Web服务器?即使只是一个静态测试页面? 这可能是一个perms问题,但这至少会告诉您本地网络上的任何计算机是否可以使用IP/端口配置访问它。

尝试绑定到*

如果使用
HttpListener
请尝试以下操作:

httpListener = new HttpListener();
httpListener.Prefixes.Add("http://*/");
而不是

httpListener.Prefixes.Add("http://localhost/");
httpListener.Prefixes.Add("http://10.0.0.201/");

绑定到localhost不会绑定到所有其他IP地址,并且绑定到特定IP地址将不适用于localhost或IPv6(例如)。

服务器实际侦听的IP是什么?它是在10.0.0.201上收听还是至少在0.0.0.0上收听?还是改为收听127.0.0.1?是的,它正在收听10.0.0.201。这就是我说的服务器-1 lol。如果uri是localhost,则侦听正常。在服务器10.0.0.201中,端口8081是否打开?尝试在不使用post和10.0.0.201的情况下使用,并检查应用程序是否专门指向此IP。我实际上是在编写web服务器,而不是使用IIS。然后,您可能需要检查您在web服务器中绑定的接口,因为您可以绑定到
环回
,该环回将响应
本地主机
,但不响应显式IP。您正在测试
http://localhost:8081/
vs
http://10.0.0.201:8081/
来自Web服务器正常运行的同一主机?不是来自其他机器?是的,都在同一台服务器上。我唯一更改的是IP的“localhost”。我停止了w3svc,以防它是罪魁祸首(绑定),但它仍然没有改变。接口,你是说网卡/接口?这可能是一个想法:)我在哪里指定我想知道的接口(或确定绑定的接口)。@JonGlazer您使用什么编写web服务器?开始聆听时,您指示它绑定到什么?请显示您的实际代码,或一个。当你没有提供你实际工作的细节时,你希望人们如何帮助你?是的,谢谢你的建议。这是我尝试的第一件事,也是我陷入问题的原因。然后我在本地尝试了一下,发现了同样的问题。