无法使用 UnitySocketIO 与 wss://echo.websocket.org/ 握手

Posted

技术标签:

【中文标题】无法使用 UnitySocketIO 与 wss://echo.websocket.org/ 握手【英文标题】:Can´t get handshake to wss://echo.websocket.org/ with UnitySocketIO 【发布时间】:2015-01-16 22:03:13 【问题描述】:

我做了将 UnitySocketIO https://github.com/NetEase/UnitySocketIO/ 与 unity 集成的基本示例,但出现错误,有人尝试这样做吗?

using UnityEngine;
using System.Collections;
using SocketIOClient;
using WebSocket4Net;

public class WsConnection : MonoBehaviour 

    Client client;
    string url = "wss://echo.websocket.org";

    // Use this for initialization
    void Start () 

        client = new Client(url, WebSocketVersion.DraftHybi00);
        client.Opened += SocketOpened;
        client.Message += SocketMessage;
        client.SocketConnectionClosed += SocketConnectionClosed;
        client.Error +=SocketError;

        client.Connect();

    

    private void SocketOpened(object sender, System.EventArgs e) 
        //invoke when socket opened
        client.Send("hello world");
    

    private void SocketMessage (object sender, MessageEventArgs e) 
        if ( e!= null && e.Message.Event == "message") 
            string msg = e.Message.MessageText;
            //process(msg);
            Debug.Log(msg);

            client.Close();
        
    

    private void SocketConnectionClosed(object sender, System.EventArgs e) 
        //invoke when socket opened
        Debug.Log("Conexion cerrada...");
    


    private void SocketError(object sender, System.EventArgs e) 
        //invoke when socket opened
        Debug.Log(((SocketIOClient.ErrorEventArgs)e).Message);
    


输出是:

使用 wss://echo.websocket.org/ 初始化握手时出错

我试过 ws 和 wss 协议

【问题讨论】:

【参考方案1】:

试试

client = new Client(url, WebSocketVersion.Rfc6455);

RFC6455 是最终的 WebSocket 标准规范。

【讨论】:

我已经尝试了该库支持的所有标准:WebSocketVersion.DraftHybi10、WebSocketVersion.DraftHybi00、WebSocketVersion.None、WebSocketVersion.Rfc6455...但错误是一样的

以上是关于无法使用 UnitySocketIO 与 wss://echo.websocket.org/ 握手的主要内容,如果未能解决你的问题,请参考以下文章

Kurento - Firefox 无法与位于 wss://<ipaddress>:8433/kurento 的服务器建立连接。

棘轮和 WSS 无法正常工作

无法使用 Flutter 连接到 wss

使用多域 SSL SAN 证书无法在 Chrome 中建立 wss websocket 连接

ClientWebSocket wss - 无法连接到远程服务器

无法连接到 wss [更新]