首页 新闻 会员 周边 捐助

c#使用fleck websocket wss访问问题;

0
悬赏园豆:10 [已解决问题] 解决于 2022-01-13 14:21

本人使用fleck框架用来socket通讯,服务器站点可以通过https访问。
然后前端socket通过ws访问是没问题的,但是使用wss访问就不行了,求解。
后台代码如下:
WebSocketServer server;

            //【含证书】
            if (socketType == "wss")
            {
                server = new WebSocketServer("wss://0.0.0.0:3301");
                string certificatePath = ConfigHelper.GetValue("certificatePath");
                string password = ConfigHelper.GetValue("password").Trim();

                //添加证书(certificatePath:证书路径,password:访问证书数据所需的密码)
                server.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(certificatePath, password);
                LogHelper.WriteLog_LocalTxt(server.Certificate.FriendlyName);

                //server.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(certificatePath, password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.Exportable | System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.MachineKeySet | System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.PersistKeySet);
            }
            else
            {
                //【无证书】
                //webscoket服务端实例
                //server = new WebSocketServer("ws://0.0.0.0:3302");
                server = new WebSocketServer("ws://0.0.0.0:3302");
            }

            //出错后进行重启  
            server.RestartAfterListenError = true;
黄金程序员的主页 黄金程序员 | 初学一级 | 园豆:194
提问于:2022-01-12 09:26

感谢大家的帮助,问题找到了。是因为服务器配置的问题,遇见这种问题。大家以后多试试,我就是找同事的服务器试了一下发现程序没问题。那就是服务器配置问题了。

CoolDog; 2年前
< >
分享
最佳答案
1

客户端是IOS吗,IOS需求必须是Tls1.2

server = new WebSocketServer("wss://0.0.0.0:3301") { 
                RestartAfterListenError = true,
                EnabledSslProtocols = SslProtocols.Tls12,  //IOS要求必须Tls1.2
                Certificate = new X509Certificate2(sslName, sslPassword, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet),
            };
收获园豆:10
WmW | 菜鸟二级 |园豆:424 | 2022-01-12 10:20

大佬,您好。不只是ios 是所有移动端(前端,小程序,安卓)都无法访问 !!!

黄金程序员 | 园豆:194 (初学一级) | 2022-01-12 15:51

@CoolDog;: 你试试我的代码

WmW | 园豆:424 (菜鸟二级) | 2022-01-12 17:53

@WmW: 不好意思..不行 仍然访问超时.

黄金程序员 | 园豆:194 (初学一级) | 2022-01-12 20:38

@CoolDog;: 那就不清楚了

WmW | 园豆:424 (菜鸟二级) | 2022-01-13 09:31
其他回答(1)
0

感谢大家的帮助,问题找到了。是因为服务器配置的问题,遇见这种问题。大家以后多试试,我就是找同事的服务器试了一下发现程序没问题。那就是服务器配置问题了。

黄金程序员 | 园豆:194 (初学一级) | 2022-01-13 14:20

你这个是服务器配置的问题吗。我也遇到了,结果发现是端口问题,只要把端口去掉就可以正常链接了,网上找到的信息是wss协议不支持带端口的url

支持(0) 反对(0) 阁下何不乘风起 | 园豆:200 (初学一级) | 2022-09-27 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册