// 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; }
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; }
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(); }
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); }
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"]); } }
/* * 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; }
private void WebSocket_OnError(UnityWebSocket sender, string message) { Debug.Log("Error: " + message); }
private void WebSocket_OnMessage(UnityWebSocket sender, byte[] data) { string message = Encoding.UTF8.GetString(data); Debug.Log("Message received: " + message); }
private void WebSocket_OnClose(UnityWebSocket sender, int code, string reason) { Debug.Log("Connection closed: " + reason); }
/* * Socket events. */ public void OnClose(UnityWebSocket sender, int code, string reason) { Debug.Log("Connection closed: " + reason); this.isConnected = false; }
private void WebSocket_OnMessage(UnityWebSocket sender, byte[] data) { string message = Encoding.UTF8.GetString(data); alo(message); }
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); }
public void SendMessage(UnityWebSocket socket, string message) { Debug.Log("Sending message: " + message); byte[] data = Encoding.UTF8.GetBytes(message); this.socket.SendAsync(data); }
public void OnOpen(UnityWebSocket accepted) { Debug.Log("Connetion established"); this.SendMessage(accepted, "{\"event\":\"test\",\"data\":{}}"); }