public void connect(string ip, string user, string password)
    {
        Debug.Log("Arg ip: " + ip);
        Debug.Log("Arg user: "******"Arg password: "******"Websocket is already connected!");
            return;
        }

        Debug.Log("Creating websocket");
        string serverAddress = "ws://" + ip + ":11037/unity-websocket-server";

        websocket           = new WebSocket(serverAddress + "/unitysocket");
        websocket.Log.Level = LogLevel.Trace;
        websocket.Log.File  = "D:\\somelog";

        websocket.SetCredentials(user, password, false);

        websocket.OnMessage += (sender, e) => {
            Debug.Log("Server says: " + e.Data);

            String responseType = ServerResponse.CreateFromJSON(e.Data).type;
            if (onMessageFunctions.ContainsKey(responseType))
            {
                foreach (EventHandler <MessageEventArgs> eventHandler in onMessageFunctions[responseType])
                {
                    eventHandler.BeginInvoke(sender, e, EndAsyncEvent, null);
                }
            }
        };

        websocket.OnOpen += (sender, e) => {
            Debug.Log("Socket Open");
        };

        websocket.OnError += (sender, e) => {
            Debug.Log("Error " + e.Message);
            Debug.Log("Exception " + e.Exception);
        };

        websocket.OnClose += (sender, e) => {
            Debug.Log("Close Reason: " + e.Reason);
            Debug.Log("Close Code: " + e.Code);
            Debug.Log("Close Clean? " + e.WasClean);
        };

        Debug.Log("Connecting...");
        websocket.Connect();
        //ws.ConnectAsync();
        Debug.Log("Connection isAlive : " + websocket.IsAlive);
        Debug.Log("Connection Status : " + websocket.ReadyState);
    }
示例#2
0
    IEnumerator SignUpCoroutine()
    {
        loginButton.enabled  = false;
        signupButton.enabled = false;

        WWWForm form = new WWWForm();

        form.AddField("username", username.text);
        form.AddField("password", password.text);

        UnityWebRequest www = UnityWebRequest.Post("https://aqueous-bayou-19925.herokuapp.com/users/signup", form);

        yield return(www.SendWebRequest());

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
        }
        else
        {
            ServerResponse response = ServerResponse.CreateFromJSON(www.downloadHandler.text);
            if (response.status == 200)
            {
                responseText.color = Color.green;
                responseText.text  = "SignUp success!";
            }
            else
            {
                responseText.color = Color.red;
                responseText.text  = response.message;
            }
        }

        loginButton.enabled  = true;
        signupButton.enabled = true;
    }