首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Unity3D使用WebGL的安全Websocket

Unity3D使用WebGL的安全Websocket
EN

Stack Overflow用户
提问于 2019-10-24 17:28:51
回答 1查看 3.8K关注 0票数 1

我试图建立一个安全的websocket从统一无头服务器到WEBGL客户端。我知道这不是本地人支持的。我见过一些不安全的例子,我已经让它们在本地构建中工作了。由于在网站上使用https和后端的不安全连接,WebGL抛出错误。其他人让它起作用了,但我找不到“它起作用”的例子,所以我不知所措。

错误

DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

然而,当我学习C# (我来自Python)时,我试过遵循其他一些指南,并且在websockets方面没有太多的经验,我不确定hpw是否能够构建安全的方法。

团结建设: 2019.2

资源:

代码语言:javascript
运行
复制
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using WebSocketSharp;

public class WebSocketDemo : MonoBehaviour
{

    // Use this for initialization
    void Start()
    {
        Debug.Log("WebSocket Class");
        // Create WebSocket instance
        using (var ws = new WebSocket("ws://echo.websocket.org"))
        {
            
            Debug.Log(ws.ReadyState);
            
            // Add OnOpen event listener
            ws.OnOpen += (sender, e) => {
  
  
            Debug.Log("WS connected!");
            Debug.Log("WS state: " + ws.ReadyState);

            ws.Send(Encoding.UTF8.GetBytes("Hello from Unity 3D!"));
            };

            // Add OnMessage event listener
            ws.OnMessage += (sender, e) => {

                Debug.Log("WS received message: " + e.Data);// Encoding.UTF8.GetString(e.Data));

                ws.Close();
            };

            // Add OnError event listener
            ws.OnError += (sender, e) => {


            Debug.Log("WS error: " + e.Exception);
            };

            // Add OnClose event listener
         
            // Connect to the server
            ws.Connect();
        }
    }

    // Update is called once per frame
    void Update()
    {

    }
}

老实说,我需要一些代码片段的讲义。上面的代码适用于ws,但我不知道客户端和服务器端wss还需要什么。如您所知,我只是向echo.websocket.org进行测试。

EN

回答 1

Stack Overflow用户

发布于 2019-10-28 00:10:05

DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

听起来你在使用不安全的websocket连接。让我们看看您的URI:

using (var ws = new WebSocket("ws://echo.websocket.org"))

ws意味着不安全。让我们把它安全起来。使用wss作为协议。现在,这一行如下所示:

using (var ws = new WebSocket("wss://echo.websocket.org"))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58546436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档