gpt4 book ai didi

C# - 使用 fleck 的 TLS/SSL Websockets

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:18 27 4
gpt4 key购买 nike

我正在尝试使用 Fleck 库建立 TLS/SSL websocket 连接。

https://github.com/statianzo/Fleck (0.9.8.25)

现在我得到了服务器 startet。
但是当客户端连接时,我收到以下消息。

28-02-2014 19:16:15 [Info] Server started at wss://localhost:8081
28-02-2014 19:18:51 [Debug] Client connected from 127.0.0.1:62543
28-02-2014 19:18:51 [Debug] Authenticating Secure Connection
28-02-2014 19:18:52 [Debug] 0 bytes read. Closing.

有人知道我做错了什么吗?

Browser: Chrome, version : 33.0.1750.117

//示例代码。

        FleckLog.Level = LogLevel.Debug;

var allSockets = new List<IWebSocketConnection>();

var server = new WebSocketServer("wss://localhost:8081");

server.Certificate = new X509Certificate2(@"CRT.pfx", "Pwd");

server.Start(socket =>
{

socket.OnOpen = () =>
{
Console.WriteLine("Open!");
allSockets.Add(socket);
};
socket.OnClose = () =>
{
Console.WriteLine("Close!");
allSockets.Remove(socket);
};
socket.OnMessage = message =>
{

foreach (var user in allSockets.ToList())
{
if(user.ConnectionInfo.Id != socket.ConnectionInfo.Id){
user.Send(message);
}
}

};
});


var input = Console.ReadLine();

while (input != "exit")
{

foreach (var socket in allSockets.ToList())
{
socket.Send(input);
}

input = Console.ReadLine();
}

最佳答案

证书是否由浏览器信任的 CA 签署?否则,您使用 Chrome 打开的网页必须使用 HTTPS,以便系统提示您接受证书,否则连接将失败。

如果这样做还是不行,请尝试 WebSocketListener如果有的话,告诉我你得到了哪个错误。

我在调试 WSS 时发现的一些问题:

  • 请记住将端口号更改为与您用于非安全连接的端口号不同的端口号。如果端口突然变得安全或反之亦然,一些浏览器会感到困惑。
  • 请记住使用证书中指示的主机名进行连接,而不是 IP。
  • 如果您使用的是自签名证书,请将其用于 HTTPS,以便您可以看到接受该证书的对话框。当通过 WSS://访问时,没有证书接受对话框,它只会连接失败。

也尝试使用自签名证书,看看它是否有效。

关于C# - 使用 fleck 的 TLS/SSL Websockets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103267/

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