Esempio n. 1
0
 // Use this for initialization
 void Start()
 {
     // This example service echoes back any messages sent to it
     WebSocket            = new UnityWebSocket("ws://echo.websocket.org");
     WebSocket.OnClose   += WebSocket_OnClose;
     WebSocket.OnOpen    += Websocket_OnOpen;
     WebSocket.OnMessage += WebSocket_OnMessage;
     WebSocket.OnError   += WebSocket_OnError;
 }
Esempio n. 2
0
        public void OnOpen(UnityWebSocket accepted)
        {
            Debug.Log("Connection established");
            JObject data = new JObject();

            data["username"] = this.userName;
            EventData evn = new EventData("player_join", data);

            this.SendSocketMessage(evn.ToString());
            this.isConnected = true;
        }
Esempio n. 3
0
    private void Start()
    {
        this.socket            = new UnityWebSocket("ws://localhost:3004/quest");
        this.socket.OnClose   += this.OnClose;
        this.socket.OnOpen    += this.OnOpen;
        this.socket.OnMessage += this.OnMessage;
        this.socket.OnError   += this.OnError;

        this.eventHandlers = new Dictionary <string, Action <JToken> >();
        this.InitEventHandlers();
    }
Esempio n. 4
0
    private void Websocket_OnOpen(UnityWebSocket accepted)
    {
        Debug.Log("Connection established.");

        string message = "Hello, friend!";

        Debug.Log("Sending message: " + message);

        byte[] data = Encoding.UTF8.GetBytes(message);

        WebSocket.SendAsync(data);
    }
Esempio n. 5
0
        public void OnMessage(UnityWebSocket sender, byte[] data)
        {
            string  message   = Encoding.UTF8.GetString(data);
            JObject jqe       = JObject.Parse(message);
            string  eventName = (string)jqe["event"];

            Debug.Log("Message received: " + jqe);
            if (eventHandlers.ContainsKey(eventName))
            {
                eventHandlers[eventName](jqe["data"]);
            }
        }
Esempio n. 6
0
 /*
  *      Socket functions.
  */
 private void Connect(string uri = Constants.ACCESS_PROTOCOL + Constants.DEFAULT_SERVER_ADDRESS + Constants.GAME_DIRECTORY)
 {
     if (uri == "")
     {
         uri = Constants.ACCESS_PROTOCOL + this.serverAddress + Constants.GAME_DIRECTORY;
     }
     if (this.socket != null)
     {
         this.socket.Close();
         this.socket = null;
     }
     this.socket            = new UnityWebSocket(uri);
     this.socket.OnClose   += this.OnClose;
     this.socket.OnOpen    += this.OnOpen;
     this.socket.OnMessage += this.OnMessage;
     this.socket.OnError   += this.OnError;
 }
Esempio n. 7
0
 private void WebSocket_OnError(UnityWebSocket sender, string message)
 {
     Debug.Log("Error: " + message);
 }
Esempio n. 8
0
    private void WebSocket_OnMessage(UnityWebSocket sender, byte[] data)
    {
        string message = Encoding.UTF8.GetString(data);

        Debug.Log("Message received: " + message);
    }
Esempio n. 9
0
 private void WebSocket_OnClose(UnityWebSocket sender, int code, string reason)
 {
     Debug.Log("Connection closed: " + reason);
 }
Esempio n. 10
0
 /*
  *      Socket events.
  */
 public void OnClose(UnityWebSocket sender, int code, string reason)
 {
     Debug.Log("Connection closed: " + reason);
     this.isConnected = false;
 }
Esempio n. 11
0
    private void WebSocket_OnMessage(UnityWebSocket sender, byte[] data)
    {
        string message = Encoding.UTF8.GetString(data);

        alo(message);
    }
Esempio n. 12
0
        private IEnumerator Connect()
        {
            var www = UnityWebRequest.Get($"https://{Server}/api/sessions/" + Room);

            www.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
            yield return(www.SendWebRequest());

            bool   sessionOk = false;
            string token     = "";

            if (www.isNetworkError)
            {
                Debug.Log("Error While Sending: " + www.error);
            }
            else
            {
                Debug.Log($"Received{www.responseCode}: {www.downloadHandler.text}");
                session = JsonConvert.DeserializeObject <OpenViduSessionInfo>(www.downloadHandler.text);

                sessionOk = true;
            }


            if (www.responseCode == 404)
            {
                Debug.Log("Creating Session");

                www = new UnityWebRequest($"https://{Server}/api/sessions", "POST");
                byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes("{\"customSessionId\": \"" + Room + "\"}");
                www.uploadHandler = (UploadHandler) new UploadHandlerRaw(jsonToSend);

                www.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
                www.SetRequestHeader("Content-Type", "application/json");
                www.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
                yield return(www.SendWebRequest());

                if (www.isNetworkError)
                {
                    Debug.Log("Error While Sending: " + www.error);
                }
                else
                {
                    Debug.Log($"Received{www.responseCode}: {www.downloadHandler.text}");
                    sessionOk = true;
                }
            }

            if (sessionOk)
            {
                Debug.Log("Asking for a token");
                www = new UnityWebRequest($"https://{Server}/api/tokens", "POST");
                byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes("{\"session\": \"" + Room + "\"}");// default to publisher
                //byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes("{\"session\": \"Aresibo\", \"role\": \"SUBSCRIBER\"}");

                www.uploadHandler = (UploadHandler) new UploadHandlerRaw(jsonToSend);
                www.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
                www.SetRequestHeader("Content-Type", "application/json");
                www.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
                yield return(www.SendWebRequest());

                if (www.isNetworkError)
                {
                    Debug.Log("Error While Sending: " + www.error);
                }
                else
                {
                    Debug.Log($"Received{www.responseCode}: {www.downloadHandler.text}");
                    var t = JsonConvert.DeserializeObject <OpenViduToken>(www.downloadHandler.text);
                    token = t.token;
                    Debug.Log($"Token :{token}");
                }
            }

            //connect Websocket
            webSocket = gameObject.GetComponent <UnityWebSocket>();

            webSocket.Connect();
            //wait for the socket to be ready
            yield return(new WaitForSeconds(1f));

            long i = idMessage++;

            webSocket.SendText("{\"jsonrpc\": \"2.0\"," +
                               "\"method\": \"joinRoom\"," +
                               "\"params\": {" +
                               "\"token\": \"" + token + "\"," +
                               "\"session\": \"" + Room + "\"," +
                               "\"platform\": \"Chrome 76.0.3809.132 on Linux 64-bit\"," +
                               //"\"platform\": \"Unity\"," +
                               "\"metadata\": \"{clientData: TestClient}\"," +
                               "\"secret\": \"" + Secret + "\", " +
                               "\"recorder\": false  }," +
                               "\"id\": " + i + " }");

            messages.Add(i, OpenViduType.JoinRoom);
        }
Esempio n. 13
0
 public void SendMessage(UnityWebSocket socket, string message)
 {
     Debug.Log("Sending message: " + message);
     byte[] data = Encoding.UTF8.GetBytes(message);
     this.socket.SendAsync(data);
 }
Esempio n. 14
0
 public void OnOpen(UnityWebSocket accepted)
 {
     Debug.Log("Connetion established");
     this.SendMessage(accepted, "{\"event\":\"test\",\"data\":{}}");
 }