gpt4 book ai didi

c# - 如何在一台服务器上使用WebSocket,在同一局域网内的另一台PC上访问?

转载 作者:行者123 更新时间:2023-11-30 22:52:05 27 4
gpt4 key购买 nike

当我在C#中使用WebSocket服务器,并在本地PC访问它时,它工作正常。但是当我尝试使用另一台 PC 访问时,它不起作用。

我正在使用 Fleck 的 WebSocket 库。

C# WebSocket 服务器中的代码:

_server = new Fleck.WebSocketServer("wss://127.0.0.1:8181");
_server.Certificate = new X509Certificate2(@"C:\test.com.pfx", "123");

HTML/Javascript 代码:

websocket = new WebSocket('wss://192.168.1.37:8181');

当我尝试访问本地 IP“ws://192.168.1.37:8181”时使用不安全的 WebSocket“ws://127.0.0.1:8181”时,Chrome 控制台会发送错误:

The page at 'https://www.websocket.org/echo.html' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://192.168.1.37:8181/?encoding=text'. This request has been blocked; this endpoint must be available over WSS.

当我使用安全 WebSocket“wss://127.0.0.1:8181”时它发送错误:

WebSocket connection to 'wss://192.168.1.37:8181/?encoding=text' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

它只在我在 WebSocket 客户端中输入“wss://127.0.0.1:8181”时有效,但我想使用标准 IP,以供其他 PC 访问。

最佳答案

我找到了解决方案,如果有人需要,这里是步骤:

您需要按如下方式启动 Fleck WebSocket 服务器:

_server = new Fleck.WebSocketServer("wss://0.0.0.0:8181");
_server.Certificate = new X509Certificate2(@"C:\test.com.pfx", "123");

然后在你要通过WebSocket客户端访问的PC上,你需要先用浏览器访问:

https://192.168.1.37:8181

然后您允许访问。 (它会让未知用户的认证)

之后您的 WebSocket 客户端将工作。

关于c# - 如何在一台服务器上使用WebSocket,在同一局域网内的另一台PC上访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58503692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com