2

ゲームに問題があります。Unity3D 5 の WebGL でゲームに取り組んでいます。ゲームは、次のようなアドレスを持つ Web ソケットを使用してサーバーに接続します。

wss://serveraddress:8443/moreaddress

サーバーに接続するためにJavaScriptの実装を使用しています。JavaScript は次のようになります。

var WSClient = {
    socket: null,
    url: null,

    connect: function(host) {
        if ('WebSocket' in window) {
            this.socket = new WebSocket(host);
        } else if ('MozWebSocket' in window) {
            this.socket = new MozWebSocket(host);
        } else {
            Console.log('Error: WebSocket is not supported by this browser.');
            return;
        }

        this.socket.onopen = function()
        {
            SendMessage("WebSocketManager","OnOpenWebSocket");
        };

        this.socket.onclose = function() {
            SendMessage("WebSocketManager","OnCloseWebSocket");
        };

        this.socket.onmessage = function(message) {
            if(typeof message == "string"){
                SendMessage('WebSocketManager','OnMessageReceived', message);
            }
        };
    },

    initialize: function(url) {
        if (typeof url !== "undefined")
            this.url = url;

        if (this.url == null) {
            Console.log('Info: Initialize without an URL');
            return;
        }

        this.connect(this.url);
    },

    sendMessage: function(msg) {
        if (msg != '') {
            this.socket.send(msg);
        }
    },

    close: function() {
        this.socket.close();
    }
};

SendMessage 関数は、Unity で関数を呼び出すためのものです。つまり、基本的に私に起こっていることは、ゲームがサーバーに接続した後、onOpen()関数が呼び出され、次にOnOpenWebSocket()Unityから関数を呼び出し、サーバーにメッセージを送信してログインしようとし、サーバーがメッセージを受信して​​送信しようとすることです私に答えがありますが、onMessage()関数で取得しているのは次のメッセージだけです:{"isTrusted":true}.

これは Firefox で発生しますが、Chrome では問題なく動作します。Chrome では、サーバーから適切なメッセージを取得しています。そして、サーバーのどこにもisTrusted書かれている場所はありません。

Firefox 33.0 を使用しています。そしてChrome 39.0.2171.95

about:configFirefoxを調べたところ、websocket有効になっています。

誰がこれを引き起こす可能性があるかについて考えを持っていますか?

4

1 に答える 1